linux 僵尸进程 关闭看不见的进程

news/2024/7/8 2:27:24 标签: 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: 使用 psgrep 和 awk 结合 kill

如果你想要更精确地控制哪些进程被结束,或者你的系统不支持 pkill,可以使用 psgrep, 和 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

在执行任何强制结束命令之前,请确保你了解可能的后果,并确认这些进程可以安全地结束。


http://www.niftyadmin.cn/n/5251436.html

相关文章

kafka常见问题处理

1. 如何防⽌消息丢失 在生产者层面,我们有个ack参数确认机制 设置成-1,也就是副本全部同步了leader才发送ack,这样确保leader和副本挂掉只剩一个还能 保证消息不丢失 消费者: 把⾃动提交改成⼿动提交 2. 如何防⽌重复消费 在…

Redis如何做内存优化?

Redis如何做内存优化? 1、缩短键值的长度 缩短值的长度才是关键,如果值是一个大的业务对象,可以将对象序列化成二进制数组; 首先应该在业务上进行精简,去掉不必要的属性,避免存储一些没用的数据&#xff1…

中通单号查询,中通快递物流查,备注需要的单号记录

批量查询中通快递单号的物流信息,并对需要的单号记录进行备注。 所需工具: 一个【快递批量查询高手】软件 中通快递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,第一次使用的朋友记得先注册&#xff0c…

Python:核心知识点整理大全10-笔记

目录 5.4 使用 if 语句处理列表 5.4.1 检查特殊元素 toppings.py 5.4.2 确定列表不是空的 5.4.3 使用多个列表 5.5 设置 if 语句的格式 5.6 小结 第6章 字 典 6.1 一个简单的字典 alien.py 6.2 使用字典 6.2.1 访问字典中的值 6.2.2 添加键—值对 6.2.3 先创建一…

CNN发展史脉络 概述图整理

CNN发展史脉络概述图整理,学习心得,供参考,错误请批评指正。 相关论文: LeNet:Handwritten Digit Recognition with a Back-Propagation Network; Gradient-Based Learning Applied to Document Recogniti…

Qt之QSlider和QProgressBar

Qt之QSlider和QProgressBar 实验结果 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);connect(ui->dial,&QDial::valueChanged,this,&Widget::do_val…

C# 实现Lru缓存

C# 实现Lru缓存 LRU 算法全称是最近最少使用算法(Least Recently Use),是一种简单的缓存策略。 通常用在对象池等需要频繁获取但是又需要释放不用的地方。 代码实现的基本原理就是使用链表,当某个元素被访问时(Get或…

操作系统考研笔记(王道408)

文章目录 前言计算机系统概述OS的基本概念OS的发展历程OS的运行机制OS体系结构OS引导虚拟机 进程和线程进程和线程基础进程进程状态进程控制进程通信线程线程实现 CPU调度调度的层次进程调度细节调度算法评价指标批处理调度算法交互式调度方法 同步与互斥基本概念互斥互斥软件实…