答案1
钢铁司机在评论出于特定目的,最好使用,因为过滤viapkill -f
的输出会导致命令本身出现在列表中。相比之下,不会出现这种情况,并且执行起来很干净。ps
grep
grep
ps
pkill
至于一般的如果某个命令的位置参数为空,而你又想运行该命令,那么有两种方法可以解决。第一种方法是保存到变量并检查变量是否为空:
var=$(ps aux | grep '[p]ostgres'|awk '{print $2}')
if ! [ "x$var" = "x" ]; then
sudo kill "$var"
fi
另一种方法是通过xargs
and --no-run-if-empty
(或简写-r
):
ps aux | grep '[p]ostgres'|awk '{print $2}' | xargs --no-run-if-empty kill