pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `. 干嘛的

这行命令的作用是获取指定应用程序($APP_NAME)的进程ID(PID)

  1. ps -ef:列出系统中所有正在运行的进程。
  2. grep $APP_NAME:从ps -ef的输出中筛选出包含$APP_NAME的行。
  3. grep -v grep:从上一步的输出中排除包含grep的行,以避免将自身grep命令的进程也列出。
  4. 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)。

shell获取指定应用程序($APP_NAME)的进程ID(PID)_应用程序