如何在多台计算机上杀死某些用户的所有进程?

时间:2017-08-10 09:23:45

标签: bash ssh remote-access kill

给定文件hosts.txt中的用户计算机列表:

# Group 1
user1@192.68.0.1
user2@192.68.0.2
user1@192.68.0.3

# Group 2
user1@192.68.1.111
user3@192.68.1.222

有没有办法在相应的计算机上自动终止这些用户的进程?

目前,我正在手动逐个执行这些命令:

ssh user1@192.68.0.1
sudo killall -u user1

ssh user2@192.68.0.2
sudo killall -u user2

ssh user1@192.68.0.3
sudo killall -u user1

ssh user1@192.68.1.111
sudo killall -u user1

ssh user3@192.68.1.222
sudo killall -u user3

1 个答案:

答案 0 :(得分:0)

你可以这样做:

for i in $(seq 1 5); do echo ssh user$i@192.168.0.$i "sudo pkill -u user$i"; done

丢失echo(用于测试目的)并编辑seq命令的第二个数字以匹配您想要的数字。

示例:

itai@Itais-MacBook-Pro ~ -  $ for i in $(seq 1 5); do echo ssh user$i@192.168.0.$i "sudo pkill -u user$i"; done
ssh user1@192.168.0.1 pkill -u user1
ssh user2@192.168.0.2 pkill -u user2
ssh user3@192.168.0.3 pkill -u user3
ssh user4@192.168.0.4 pkill -u user4
ssh user5@192.168.0.5 pkill -u user5
itai@Itais-MacBook-Pro ~ -  $