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"

这样就很优雅了~

相关推荐
m0_683124798 小时前
Ubuntu服务设置开机自启
linux·运维·ubuntu
BestOrNothing_20158 小时前
(1)双系统中Ubuntu22.04启动盘制作与启动盘恢复全过程
linux·ubuntu·双系统·启动盘制作·启动盘恢复
AI成长日志8 小时前
【实用工具教程】Linux常用命令速查与实战场景:文件操作、进程管理与网络调试高频命令解析
linux·php
落叶花开又一年8 小时前
检验检测机构资质认定远程评审工作程序
linux·运维·服务器
wanhengidc8 小时前
《三国志异闻录》搬砖新游戏 云手机
运维·服务器·数据库·游戏·智能手机
idolao8 小时前
CentOS 7 安装 jdk-7u25-linux-x64.tar.gz 详细步骤(解压配置环境变量)
linux
i建模8 小时前
通过命令行使用密钥登录远程SSH主机
运维·ssh
旺仔.2919 小时前
僵死进程及Linux文件操作 详解
linux·运维·服务器
IMPYLH9 小时前
Linux 的 comm 命令
linux·运维·算法
智算菩萨9 小时前
多目标超启发式算法系统文献综述:人机协同大语言模型方法论深度精读
论文阅读·人工智能·深度学习·ai·多目标·综述