如何在shell脚本中获取上一条命令的PID

时间:2019-04-29 03:17:52  来源:igfitidea点击:

在shell脚本中,很容易地找到最后执行的命令的PID。 它保存在变量$!中。

如何在Linux中返回上一条命令的PID ?

使用bash变量即可。$!表示上一命令/程序的进程ID (PID)

firefox &
echo "$!"

在脚本中使用:

#!/bin/bash
echo "start"
/path/to/your/app &
_pid=$! 
echo "$_pid" > /var/run/app.pid
echo "Pid $_pid in /var/run/app.pid"

像mysql的pid就是通过这种方式将PID写入到文件中。

使用jobs命令获取PID

我们还可以使用 jobs命令来获取后台任务的PID:

my-app &
jobs -p

示例:

#!/bin/bash
_name="/path/to/my-java-app"
_pid="/path/to/my-java-app.pid"
((${_name}) & jobs -p >${_pid})