如何 kill 掉所有跟 wandb 相关的进程
听说一些残留 wandb 进程会占用显存,因此有在模型训练结束后,把 wandb 进程全部杀掉的需求。
最近反复遇到该场景,因此存档记录一下。
(以下为 kimi.ai 的回答)
在 Linux 系统中,如果你想要杀掉所有与 wandb
(Weights & Biases,一个机器学习实验跟踪工具)相关的进程,可以使用 pkill
或 killall
命令,这些命令可以根据进程名来杀死进程。以下是具体的命令和它们的用法:
- 使用
pkill
命令:
pkill -f wandb
这个命令会查找所有包含wandb
关键字的进程,并将它们全部杀死。
- 使用
killall
命令:
killall -e wandb
这个命令同样会结束所有名为wandb
的进程。-e
选项表示精确匹配进程名。
请注意,在使用这些命令之前,最好先确认哪些进程与wandb
相关,以免误杀其他重要进程。可以使用ps
命令结合grep
来查看所有相关进程,如下:
ps -ef | grep '[w]andb'
这里的[w]andb
会被grep
解释为查找包含wandb
的进程,方括号[]
是为了避免展开为多个字符。
在执行任何杀死进程的命令之前,请确保你了解这些进程的作用,以免意外中断重要的系统或用户活动。如果你不确定,可以先使用不带-f
的pkill
命令,这样它只会向匹配的进程发送信号而不是立即杀死它们:
pkill -n -f wandb
使用-n
选项表示仅列出将要发送信号的进程,而不会实际杀死它们。