例如我有这个脚本可以杀死 Firefox
ps x | grep firefox | grep -v grep | awk '{print $1}'| xargs kill -9
但当没有运行 Firefox 时,它会吐出:
Usage:
kill pid ... Send SIGTERM to every process listed.
kill signal pid ... Send a signal to every process listed.
kill -s signal pid ... Send a signal to every process listed.
kill -l List all signal names.
kill -L List all signal names in a nice table.
kill -l signal Convert between signal numbers and names.
显示错误消息的最简单的方法是什么?
答案1
您用于检测 Firefox 进程的命令很糟糕,它还包括命令行中带有“firefox”的进程(例如目录名)。请改用pidof firefox
。
您可以先保存 PID,检查它是否为(非)空并调整行为:
pids=$(pidof firefox)
if [ -n "$pids" ]; then
kill -9 $pids
else
echo "No Firefox processes found"
fi
或者,killall
如果您不需要错误消息,请使用:
killall firefox