我运行这个命令
$(while true;do echo Something && sleep 0.01; done;) | cat
现在我无法通过 Ctrl+C 退出或通过 Ctrl+Z 退出它,并且 ps aux
无法告诉我它是哪个 bash。我怎样才能退出那个 bash?
编辑
我通过找到 cwd pgrep bash| 来缩小 pid (while read -r line; do lsof -p $line|grep cwd|grep EXPECTED_CWD && echo "GOT $line"; done;)
,最终终止该进程。 There更容易找到它,但在 mac 上没有 /proc
。
最佳答案
关闭终端会有帮助。 如果您使用的是仅限 CLI 的操作系统,那么您可以使用 Ctrl + Alt + F1 键切换到不同的终端。
在那里你可以使用 who 或 ps 命令来获取进程 ID 并杀死它。
ps -ef 将列出所有进程。 您可以终止倒数第二个 bash 进程,因为那将是您执行的最后一个命令。 注意:Linux 中的进程 ID 分配总是大于旧的。
关于linux - 当我用管道酸化运行时,如何退出 bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34976584/