#!/bin/bash
# 查找所有使用 /dev/nvidia* 设备的进程
fuser_output=$(fuser -v /dev/nvidia* 2>&1)
# 打印出 fuser 的原始输出供参考
echo "fuser output:"
echo "$fuser_output"
echo ""
# 提取和打印出所有使用 /dev/nvidia* 设备的进程ID
pids=$(echo "$fuser_output" | awk 'NR>1 {print $2}')
if [ -z "$pids" ]; then
echo "No processes found using /dev/nvidia* devices."
exit 0
fi
echo "PIDs to be killed:"
echo "$pids"
echo ""
# 杀掉所有找到的进程ID
for pid in $pids; do
echo "Killing process $pid"
kill -9 "$pid" && echo "Process $pid killed" || echo "Failed to kill process $pid"
done
查看占用显存的进程
fuser -v /dev/nvidia*
kill 掉所有的进程
kill -9 $pid