Jas*_*Tan 15 bash pid imapsync
谁能告诉我如何获取在 bash 中执行的命令的 PID。
例如,我有一个运行 imapsync 的 bash 脚本。
当脚本被杀死时,imapsync 进程并不总是被杀死,所以我希望能够从我的脚本中以编程方式识别 imapsync 的 PID,这样我就可以在信号处理程序中自己杀死 imapsync 进程。
那么如何以编程方式从父 bash 脚本中获取子进程的 PID?
Jav*_*ier 46
any_command args &
my_child_PID=$!
Run Code Online (Sandbox Code Playgroud)
IOW,就像$$
持有你的PID一样,$!
拥有最近执行的后台命令的PID 。
Den*_*son 10
与 不同pidof
,pgrep
可以提供多种选项来限制其返回 PID 的进程。一种可能特别有用的方法是使用当前进程的 PID 基于 PPID 进行选择。
pgrep -P $$ imapsync
Run Code Online (Sandbox Code Playgroud)
如果 imapsync 的 PID 是您脚本的子代,它只会输出它们。
归档时间: |
|
查看次数: |
43454 次 |
最近记录: |