linux 使用nohup的时候输出日志的同时也输出该程序的pid

今天在调试程序的时候发现找不到进程pid,用grep查找python进程的时候,发现有很多重名的,不知道该杀死哪一个,这里可以在用nohup的时候同时把pid输出到文件里面,这样就方便操作进程了,我的命令为:

nohup python3 -u train.py > output2.log 2>&1 & echo $! > run.pid

这个运行完以后,训练的日志会输出到output2.log中,而进程的id就会输出到run.pid中,亲测可用。

后面如果想停止该程序,就可以直接在run.pid文件里面找到pid,然后用下面的命令:

kill -9 your_pid

就可以终止程序了

参考文献

[1]. How to run nohup and write its pid file in a single bash statement. https://stackoverflow.com/questions/20254155/how-to-run-nohup-and-write-its-pid-file-in-a-single-bash-statement

[2].如何获取进程ID杀死一个nohup的过程?(How to get the process ID to kill a nohup process?). https://www.it1352.com/321596.html

猜你喜欢

转载自blog.csdn.net/w5688414/article/details/105429556