Linux终止进程(kill process)的一些玩法

经常运行一个程序时,表面上已经终止了,实际上还在后台运行。一来呢,它可能占据端口,导致端口复用的时候报错。二来呢,它可能占用GPU,让你显存直接少一块。

尤其是在多进程程序,假如运行"python train.py",直接后台起了8个进程,你需要终止这些进程的话,你可以用最原始的方法:

shell 复制代码
ps -ef | grep "python train.py"
# 8 个 pid
kill -9 <pid> # 运行8次

很直接,但是不够优雅。而且效率低下。你可以这样:

shell 复制代码
kill -9 $(pgrep -f "python train.py")

一行命令,就能终止所有的相关进程。用这个命令时需要特别小心,确保不伤及无辜进程。

为了更优雅一点,我们可以把这行命令写到bashrc或者zshrc里:

shell 复制代码
vim ~/.bashrc
# paste the following
mykill() {
    kill -9 $(pgrep -f "$1")
}
source ~/.bashrc

然后,我们就可以:

shell 复制代码
mykill "python train.py"

这样就很优雅了~

相关推荐
##echo42 分钟前
嵌入式Linux裸机开发笔记9(IMX6ULL)GPIO 中断实验(1)
linux·c语言·笔记·单片机·嵌入式硬件
Reggie_L1 小时前
RabbiteMQ安装-ubuntu
linux·ubuntu·ruby
AIGC_北苏2 小时前
让UV管理一切!!!
linux·人工智能·uv
YCY^v^3 小时前
centos 7 开启80,443端口,怎么弄?
linux·运维·centos
北南京海3 小时前
[Linux]进程地址空间
linux·运维·服务器
yzx9910134 小时前
服务器生成图片
运维·服务器
db_murphy5 小时前
Oracle数据块8KB、OS默认认块管理4KB,是否需调整大小为一致?
linux
小阳睡不醒9 小时前
小白成长之路-部署Zabbix7(二)
android·运维
mCell9 小时前
从删库到跑路?这50个Linux命令能保你职业生涯
linux·windows·macos
杰克逊的日记9 小时前
GPU运维常见问题处理
linux·运维·gpu