如何停止另一个 tty 上的循环

如何停止另一个 tty 上的循环

我们通过同一个用户连接到同一个主机。因此,只有我们的会话/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 并停止它。

相关内容