在一行中杀死 'ps aux' 输出
Kill 'ps aux' output in one line
我每天必须多次做同样的事情:
ps aux
寻找进程 运行 ssh 到我的一台服务器...
kill -9 <pid>
我想看看是否可以将进程别名化为一行。 ps aux 的输出通常是这样的:
user 6871 0.0 0.0 4351260 8 ?? Ss 3:28PM 0:05.95 ssh -Nf -L 18881:my-server:18881
user 3018 0.0 0.0 4334292 52 ?? S 12:08PM 0:00.15 /usr/bin/ssh-agent -l
user 9687 0.0 0.0 4294392 928 s002 S+ 10:48AM 0:00.00 grep ssh
我一直想杀掉里面有my-server
的进程。
有谁知道我该怎么做?
一个简单的解决方案是使用 pkill:
sudo pkill my-server
for pid in $(ps aux | grep "[m]y-server" | awk '{print }'); do kill -9 $pid; done
ps辅助 | grep "[m]y-server" | awk '{print $2}' - 这部分为您提供包含 "my-server" 的 pids 进程列表。这个脚本将通过这个列表并杀死所有这些进程。
我使用 pgrep -- 如果您确定要终止所有匹配的进程:
$ kill -9 `pgrep my-server`
我每天必须多次做同样的事情:
ps aux
寻找进程 运行 ssh 到我的一台服务器...
kill -9 <pid>
我想看看是否可以将进程别名化为一行。 ps aux 的输出通常是这样的:
user 6871 0.0 0.0 4351260 8 ?? Ss 3:28PM 0:05.95 ssh -Nf -L 18881:my-server:18881
user 3018 0.0 0.0 4334292 52 ?? S 12:08PM 0:00.15 /usr/bin/ssh-agent -l
user 9687 0.0 0.0 4294392 928 s002 S+ 10:48AM 0:00.00 grep ssh
我一直想杀掉里面有my-server
的进程。
有谁知道我该怎么做?
一个简单的解决方案是使用 pkill:
sudo pkill my-server
for pid in $(ps aux | grep "[m]y-server" | awk '{print }'); do kill -9 $pid; done
ps辅助 | grep "[m]y-server" | awk '{print $2}' - 这部分为您提供包含 "my-server" 的 pids 进程列表。这个脚本将通过这个列表并杀死所有这些进程。
我使用 pgrep -- 如果您确定要终止所有匹配的进程:
$ kill -9 `pgrep my-server`