linux 下得到进程的启动时间!
运行方式:./pstart 进程号 "
如: ./pstart 1
 
  
  1. #!/bin/bash 
  2. pid=$1 
  3. if [ "$pid" == "" ]; then 
  4.     echo "没有输入进程号 ,运行方式:./pstart pid  " 
  5.     echo "如: ./pstart 1" 
  6.     exit; 
  7. fi 
  8.  
  9. #得到当前时间 
  10. #得到运行时间 
  11. etime=$(ps -p $pid -o etime=) 
  12. if [ "$etime" == "" ]; then 
  13.     echo "没有找到程序: pid=$pid" 
  14.     exit; 
  15. fi 
  16. now=$(date "+%s"
  17.  
  18. etime=${etime//:0/ } 
  19. etime=${etime//-0/ } 
  20.  
  21. etime=${etime//-/ } 
  22. etime=${etime//:/ } 
  23. item_arr=( $etime ); 
  24. arr_count=${#item_arr[@]} 
  25. if [ $arr_count == 2 ];then 
  26.     etime="0 0 $etime"    
  27. elif [ $arr_count == 3 ];then 
  28.     etime="0 $etime"    
  29. fi 
  30.  
  31. power=(86400 3600 60 1 ) 
  32. i=0; 
  33. seconds=0; 
  34. for v in $etime ;do 
  35.     let "seconds=seconds+${v}*${power[$i]}" 
  36.     let "i=i+1" 
  37. done 
  38. #echo $seconds; 
  39. let "starttime=now-seconds" 
  40. date -d "1970-01-01 UTC $starttime seconds" +"%F %T"