在tmux
通过 SSH 的会话中,我运行了:
( \
( while true; do echo subsubshell1 && sleep 5; done ) & \
( while true; do echo subsubshell2 && sleep 10; done ) & \
wait; \
)
如何在不重新启动的情况下停止这两个后台作业?我已经运行了上面的命令,使用了ctrl + c,并关闭了tmux
窗格。关于如何修改该命令的建议,以便我下次再次运行该命令时可以更轻松地关闭它,对此表示赞赏。
pkill sleep
刚刚开始循环的下一次迭代。fg
说没有工作- ctrl + c似乎只停止子 shell,但不停止子子 shell 和后台命令。
循环的进程将被调用
bash
, sleep 将只是它们的子进程。您可以使用ps
查看哪个 bash 进程是睡眠进程的父进程:在这种情况下,PID 254 和 255 是您需要终止的 bash 进程。
或者,您可以执行以下操作来为您回显 PID: