kill 命令不适用于重定向
kill command doesn't work with redirection
好的,所以我正在尝试使用
执行kill命令
kill < ff // Doesn't work
cat ff | kill //Doesn't work
其中 ff 是包含 pid 列表的文本文件。
7688 7697 7705 7760 7764 7772 7785 7810 7817 7865 7874 8036 8097
上述两个命令的 kill 输出如下:
kill: usage:kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
你试过吗?
kill $(cat ff)
?
这个也是:
$ cat ff|xargs kill
shell 内置 kill
或外部 /bin/kill
不通过标准输入流获取进程 ID(或作业 ID)。您需要将它们作为参数传递给 kill
,因此:
kill -- $(<ff)
应该做。
如果你想一个一个地杀死它们并在两者之间做一些事情,你可以用 pid 创建一个数组并迭代它们:
pids=( $(<file.txt) ) && for i in "${pids[@]}"; do echo "killing $i"; kill -- "$i"; done
一个使用 egrep(或 grep -E
)的选项解决了一些空白异常
egrep -o "[0-9]+" ff | kill "$(cat -)"
这将适用于如下所示的文件;
ff:
7688 7697 7705 7760 7764 7772
7785 7810 7817
7865
7874
8036 8097
感谢您的回复。这两个都有效。
kill $(cat ff)
kill -- $(<ff)
这意味着 kill 不会从标准输入中获取输入。
好的,所以我正在尝试使用
执行kill命令kill < ff // Doesn't work
cat ff | kill //Doesn't work
其中 ff 是包含 pid 列表的文本文件。
7688 7697 7705 7760 7764 7772 7785 7810 7817 7865 7874 8036 8097
上述两个命令的 kill 输出如下:
kill: usage:kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
你试过吗?
kill $(cat ff)
?
这个也是:
$ cat ff|xargs kill
shell 内置 kill
或外部 /bin/kill
不通过标准输入流获取进程 ID(或作业 ID)。您需要将它们作为参数传递给 kill
,因此:
kill -- $(<ff)
应该做。
如果你想一个一个地杀死它们并在两者之间做一些事情,你可以用 pid 创建一个数组并迭代它们:
pids=( $(<file.txt) ) && for i in "${pids[@]}"; do echo "killing $i"; kill -- "$i"; done
一个使用 egrep(或 grep -E
)的选项解决了一些空白异常
egrep -o "[0-9]+" ff | kill "$(cat -)"
这将适用于如下所示的文件;
ff:
7688 7697 7705 7760 7764 7772
7785 7810 7817
7865
7874
8036 8097
感谢您的回复。这两个都有效。
kill $(cat ff)
kill -- $(<ff)
这意味着 kill 不会从标准输入中获取输入。