- 使用ps
ps -aux | grep $PATTERN
可以查看执行的命令和pid
2. 使用
fuser -v /dev/nvidia*"
- 删除所有占用gpu的进程
fuser -kv /dev/nvidia*"
- 根据指令的模糊匹配kill
#!/bin/bash
declare -a pids
declare -a cmds
a="$(ps -ax | grep $1)"
oldIFS=$IFS
IFS=$'\n'
cnt=0
for line in $a; do
IFS=$oldIFS read -a arr <<< $line
pids[$cnt]=${arr[0]}
cmds[$cnt]=${arr[-1]}
(( cnt+=1 ))
done
(( len=${#pids[@]}-3 ))
lineidx=0
if [ $len -eq 0 ] ; then
echo No process found.
else
while [ $lineidx -lt $len ]; do
echo kill process, [command]: ${cmds[$lineidx]} [pid]: ${pids[$lineidx]}
kill -9 ${pids[$lineidx]}
(( lineidx+=1 ))
done
fi