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"

这样就很优雅了~

相关推荐
小哥山水之间34 分钟前
基于dropbear实现嵌入式系统ssh服务端与客户端完整交互
linux
旷世奇才李先生39 分钟前
Pillow 安装使用教程
深度学习·microsoft·pillow
m0_653031361 小时前
腾讯云认证考试报名 - TDSQL数据库交付运维专家(TCCE MySQL版)
运维·数据库·腾讯云
ldj20201 小时前
2025 Centos 安装PostgreSQL
linux·postgresql·centos
翻滚吧键盘1 小时前
opensuse tumbleweed上安装显卡驱动
linux
cui_win2 小时前
【内存】Linux 内核优化实战 - net.ipv4.tcp_tw_reuse
linux·网络·tcp/ip
biass2 小时前
jenkins角色权限
运维·jenkins
tomorrow.hello2 小时前
Jenkins Pipeline(二)
运维·jenkins
做一个AC梦2 小时前
Docker安装失败:Docker Desktop installation failed
运维·docker·容器
Shan12052 小时前
浅谈Docker Kicks in的应用
运维·docker·容器