linux 下得到进程的启动时间!
运行方式:./pstart 进程号 "
如: ./pstart 1
运行方式:./pstart 进程号 "
如: ./pstart 1
- #!/bin/bash
- pid=$1
- if [ "$pid" == "" ]; then
- echo "没有输入进程号 ,运行方式:./pstart pid "
- echo "如: ./pstart 1"
- exit;
- fi
- #得到当前时间
- #得到运行时间
- etime=$(ps -p $pid -o etime=)
- if [ "$etime" == "" ]; then
- echo "没有找到程序: pid=$pid"
- exit;
- fi
- now=$(date "+%s")
- etime=${etime//:0/ }
- etime=${etime//-0/ }
- etime=${etime//-/ }
- etime=${etime//:/ }
- item_arr=( $etime );
- arr_count=${#item_arr[@]}
- if [ $arr_count == 2 ];then
- etime="0 0 $etime"
- elif [ $arr_count == 3 ];then
- etime="0 $etime"
- fi
- power=(86400 3600 60 1 )
- i=0;
- seconds=0;
- for v in $etime ;do
- let "seconds=seconds+${v}*${power[$i]}"
- let "i=i+1"
- done
- #echo $seconds;
- let "starttime=now-seconds"
- date -d "1970-01-01 UTC $starttime seconds" +"%F %T"
转载于:https://blog.51cto.com/kc1985/506353