每次隔一段时间不用一个命令就会忘记怎么敲,与其每次上网百度不如自己整理一下~
1、杀死所有python训练程序
有时候在终端跑训练的时候会用到nohup放在后台跑,防止误操作中断。
可是这种方式有个麻烦的点是,ctrl+C关闭程序时只能关闭输出信息的前端程序,关不了后台的训练程序。
而且有时候明明你终止了训练程序,GPU的进程仍然没有释放,watch nvidia-smi看的时候仍然满满当当,运行其他程序时仍然会报内存溢出,真想把GPU的占用清个零!
于是这个条目孕育而生~
首先要有killall这个工具,而且最让人头疼的是,killall的包不叫killall,而是看名字感觉八竿子打不到一起的psmisc
apt-get install psmisc
然后要杀死某一个python程序的话,先用ps -u根据列出所有正在跑的进程,根据时间(或其他信息)找到对应的python(有可能叫Java)程序的PID,然后kill -9 {你找到的PID}即可。
killall用于杀死某一个命令的所有进程,使用方法是
killall python
杀死了所有python程序,GPU占用恢复为0,开心,又可以愉快地科研了。