后台运行python程序
- 后台运行程序
运行test.py,标准输出(运行记录)保存在log.txt中
nohup python -u test.py > log.txt 2>&1 &
nohup是no hang up,& 是后台运行,两者结合可以在用户退出时,保持后台运行
-u 是不启用缓存,不然的话print重定向写入文件的过程会有缓存,log.txt文件不会实时更新
终止程序运行
- 观察GPU使用情况
在实验的过程中,我们可能会因为代码bug等各种原因,希望提前停止在后台运行的程序。但是此时可能你已经记不清后台运行的多个程序中,哪一个是我们想要停止的程序。此时可以先通过观察GPU的使用情况命令,获取正在GPU上运行的程序的pid。
watch -n 1 nvidia-smi
- 根据pid查看对应的程序
在或许到后台运行的程序的pid集合后,我们可以通过以下命令查看每个pid对应的程序,运行后会输出我们运行程序使用的命令以及命令行参数,从而找到需要提前终止的程序。
ps -ef|grep 16923
- 终止程序
假设pid为16923的程序就是我们希望提前终止的程序,那么我们使用以下命令提前终止程序的运行。
kill -9 16923