关闭深度学习训练/推理进程的方法

引言

设想有一种情况,在ssh服务器训练/推理的时候,突然断线,再次打开ssh的时候,发现后台在运行,此时无法使用 ctrl+c 终止,从而,可以用一个很简单的办法来结束:手动关闭进程。

方法

输入 nvidia-smi,看到:

这个PID就是进程的编号,但目前面临一个问题,如图所示,有2个训练/推理的进程,我们不知道“到底哪个进程是需要关闭的”,所以,需要大概回忆一下,我们是什么时候开始训练/推理的,然后查看这两个进程开启的时间,这样就能对应上了。

在终端输入:

import psutil

# 获取要查询的进程的进程 ID
pid = 159957

# 获取进程对象
process = psutil.Process(pid)

# 获取进程创建时间
create_time = process.create_time()

# 将时间戳转换为可读的时间格式
from datetime import datetime
create_time_str = datetime.fromtimestamp(create_time).strftime('%Y-%m-%d %H:%M:%S')

# 输出进程创建时间
print("进程 %d 的创建时间是 %s" % (pid, create_time_str))

可以看到输出:进程 159957 的创建时间是 2023-07-30 12:37:33

如果能对应上,那说明这个进程就是需要kill的,如果不能,那就是另一个。

接着,在终端输入:

import os
import signal

# 获取要关闭的进程 ID
pid = 159957

# 发送 SIGTERM 信号终止进程
os.kill(pid, signal.SIGTERM)

搞定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值