我有一个命令(程序),我想用 nohup 运行它并让它在后台运行。比如
nohup command > logfile.txt &
我如何找出进程 ID?我希望能够将进程 ID 写入文件中,稍后读取并以编程方式终止该进程。
答案1
在你的脚本中:
nohup command > logfile.txt &
echo $! > /var/run/command.pid
答案2
您可以使用$!
。参考bash 文档。
答案3
您可以使用ps
和grep
在进程列表中查找进程,然后awk
解析输出并找到实际的 PID:
ps -ef | grep -v grep | grep YOUR_PROCESS_NAME | awk '{ print $2 }'
答案4
您可以尝试:
ps 辅助 | grep -v grep | grep程序名称
这将检查正在运行的进程,grep 程序名称,但排除 grep 本身。