本文主要是介绍linux 僵尸进程 关闭看不见的进程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
多卡训练,如果显存不够,程序会崩溃退出,但是gpu显存会一直占用。
nvidia-smi看不到相关进程,关闭进程方法:
目录
查找 NVIDIA 设备相关文件的进程:
查询入口文件并关闭进程
查询进程:
关闭方法 1: 使用 pkill
方法 2: 使用 ps, grep 和 awk 结合 kill
查找 NVIDIA 设备相关文件的所有进程:
您可以使用 lsof
命令查找所有打开了与 NVIDIA 设备相关文件的进程:
sudo lsof /dev/nvidia*
关闭进程:
kill -9 pid
sudo kill -9 pid
查询入口文件并关闭进程
ps aux | grep "train_70.py"
pkill -f train_70.py
查询进程:
ps aux | grep python3
关闭方法 1: 使用 pkill
pkill
命令允许你根据程序名称和其他属性来发送信号。如果你想要结束所有名为 train_v5lite_70.py
的进程,可以使用:
pkill -f train_70.py
这里 -f
选项告诉 pkill
匹配整个命令行,而不仅仅是进程名。这很重要,因为 train_v5lite_70.py
可能不是进程名,而是命令行的一部分。
方法 2: 使用 ps
, grep
和 awk
结合 kill
如果你想要更精确地控制哪些进程被结束,或者你的系统不支持 pkill
,可以使用 ps
, grep
, 和 awk
来获取进程ID,并将它们传递给 kill
命令:
ps aux | grep "train_v5lite_70.py" | awk '{print \$2}' | xargs kill
这个命令的组成部分如下:
ps aux | grep "train_v5lite_70.py"
会找出所有包含train_v5lite_70.py
的进程。awk '{print \$2}'
会打印出每一行的第二列,即进程ID (PID)。xargs kill
会将awk
获取的每个 PID 作为参数传递给kill
命令,从而结束这些进程。
如果进程拒绝结束,你可以使用 kill -9
强制结束它们,但请注意这是一个粗暴的方法,可能会导致数据丢失或其他问题:
ps aux | grep "train_v5lite_70.py" | awk '{print \$2}' | xargs kill -9
在执行任何强制结束命令之前,请确保你了解可能的后果,并确认这些进程可以安全地结束。
这篇关于linux 僵尸进程 关闭看不见的进程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!