我们通过同一个用户连接到同一个主机。因此,只有我们的会话/tty 不同。如果我们中的一个人启动了一个 for 循环,例如:for i in *; do command $i; done
,我不知道如何停止它。我所能做的就是搜索命令命名ps aux
并终止该命令实例。但 for 循环继续进行,从而生成另一个命令过程。
我怎样才能找到那个 for 循环并终止它?
谢谢你,山姆
答案1
您可以尝试使用它pstree
来查找for
执行的shell。
例如,我使用命令运行循环for i in {1..1000}; do sleep 5; done
,然后执行pstree -p | grep sleep
,查看输出| -sshd(29695)---sshd(29707)---bash(29709)---sudo(29735)---bash(29736)---sleep(3843)
。然后kill -9 29736
终止执行循环的 shell 并停止它。