我每天必须做多次相同的事情:
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
的进程。
有人知道我该怎么做吗?
答案 0 :(得分:1)
for pid in $(ps aux | grep [m]y-server | awk '{print $2}'); do kill -9 $pid; done
ps aux | grep [m] y-server | awk'{print $ 2}'-此部分为您提供了包含“ my-server”的pid进程列表。该脚本将遍历该列表并杀死所有这些进程。
答案 1 :(得分:0)
一个简单的解决方案是使用pkill:
sudo pkill my-server
答案 2 :(得分:0)
我使用pgrep -如果您确定要杀死所有匹配的进程:
$ kill -9 `pgrep my-server`