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"

这样就很优雅了~

相关推荐
北京阿法龙科技有限公司1 小时前
AR眼镜基于上下文智能识别:电力运维高效规范操作应用方案|阿法龙XR云平台
运维·ar·xr
hhhh明1 小时前
quest2+alvr+steamvr
linux·windows·quest2
RisunJan2 小时前
docker一键部署项目
运维·docker·容器
luyun0202022 小时前
Windows 11操作更丝滑,绝了
java·运维·figma
dqsh062 小时前
树莓派5+Ubuntu24.04 LTS CH348 / CH9344 驱动安装 保姆级教程
linux·c语言·单片机·嵌入式硬件·iot
wanhengidc3 小时前
全面了解云手机的安全性
运维·服务器·游戏·智能手机·云计算
menge23334 小时前
Linux DNS域名解析服务器练习
linux·运维·服务器
努力成为一个程序猿.4 小时前
Clickhouse数据副本和分片
运维·clickhouse·debian
wsad05324 小时前
CentOS 7 更换腾讯云 yum 源及 EPEL 源
linux·centos·腾讯云
wdfk_prog4 小时前
[Linux]学习笔记系列 -- [kernel]kallsyms
linux·笔记·学习