我运行此命令
$(while true;do echo Something && sleep 0.01; done;) | cat
现在我无法退出 Ctrl + C 或通过 Ctrl + Z 和{ {1}}无法告诉我它是哪个bash。我怎么能退出那个bash?
修改
我通过找到cwd ps aux
缩小了pid,最后杀死了这个过程。There更容易找到它,但在mac上没有pgrep bash| (while read -r line; do lsof -p $line|grep cwd|grep EXPECTED_CWD && echo "GOT $line"; done;)
。
答案 0 :(得分:0)
关闭终端可以提供帮助。 如果您使用的是仅限CLI的操作系统,则可以使用Ctrl + Alt + F1键切换到不同的终端。
在那里你可以使用who或ps命令获取进程ID并将其终止。
ps -ef将列出所有进程。 你可以杀死倒数第二个bash进程,因为这将是你执行的最后一个命令。 注意:linux中的进程ID分配总是大于旧的。
答案 1 :(得分:-1)
您可以在命令末尾用&
符号执行命令,以便在后台运行此命令
在您的情况下,命令如下:
$(while true;do echo Something && sleep 0.01; done;) | cat &
它将显示进程ID,您可以在需要时将其杀死