本來只是想要獲取一個java應用程序的啓動時間java
#交互式 Bash Shell 獲取進程 pid 在已知進程名(name
)的前提下,交互式 Shell 獲取進程 pid
有不少種方法,典型的經過grep
獲取pid
的方法爲(這裏添加-v grep
是爲了不匹配到grep
進程)bash
ps -ef | grep "name" | grep -v grep | awk '{print $2}'
#處理多個pidapp
ps -ef | grep "name" | grep -v grep | grep '/bin/java' | | awk '{print $2}'
#因而有了下面的腳本 process-monitor.sh
code
#\!/bin/bash #process-monitor.sh process=$1 pid=$(ps gaux | grep $process | grep '/bin/java' | grep -v grep | awk '{print $2}') start_time=$(ps -p $pid -o lstart) echo $process $pid $start_time
#執行命令 process-monitor.sh application_name
進程