pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `. 干嘛的
这行命令的作用是获取指定应用程序($APP_NAME
)的进程ID(PID)
ps -ef
:列出系统中所有正在运行的进程。grep $APP_NAME
:从ps -ef
的输出中筛选出包含$APP_NAME
的行。grep -v grep
:从上一步的输出中排除包含grep
的行,以避免将自身grep命令的进程也列出。awk '{print $2}'
:输出每行的第2个字段,即进程ID(PID)。
最终,这行命令将指定应用程序的进程ID赋值给变量pid
。
在这个命令中,$2
是一个awk
命令的参数,表示要输出的字段编号
ps -ef
命令的输出格式如下:
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jan01 ? 00:01:35 /sbin/init splash
在这个例子中,$2
表示进程ID(PID),$3
表示父进程ID(PPID),$1
表示用户ID(UID),依此类推。
所以,awk '{print $2}'
命令的作用是从ps -ef
的输出中提取每行的第2个字段(即进程ID)。