本来只是想要获取一个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
进程