我如何找出后台进程的进程 ID?

我如何找出后台进程的进程 ID?

我有一个命令(程序),我想用 nohup 运行它并让它在后台运行。比如

nohup command > logfile.txt &

我如何找出进程 ID?我希望能够将进程 ID 写入文件中,稍后读取并以编程方式终止该进程。

答案1

在你的脚本中:

nohup command > logfile.txt &
echo $! > /var/run/command.pid

答案2

您可以使用$!。参考bash 文档

答案3

您可以使用psgrep在进程列表中查找进程,然后awk解析输出并找到实际的 PID:

ps -ef | grep -v grep | grep YOUR_PROCESS_NAME | awk '{ print $2 }'

答案4

您可以尝试:

ps 辅助 | grep -v grep | grep程序名称

这将检查正在运行的进程,grep 程序名称,但排除 grep 本身。

相关内容