linux - 当我用管道酸化运行时,如何退出 bash

标签 linux bash shell

我运行这个命令

$(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/

相关文章:

c++ - libcvd - 编译 C++ 时未定义对 "x..."的引用

linux - Bash 脚本 : Kill one process when other completes

Bash 与减法的比较

shell - docker cp : Error response from daemon: lstat no such file or directory

linux - ubuntu 是否使用 'DS' 和 'SS' 段?

linux - 如何再次查看 Flutter CLI 首次运行欢迎屏幕

bash - AIX 特殊键

linux - 如何删除位置参数的扩展名?

bash - 以特定方式读取脚本的输出

bash - 为什么我会收到错误 'invalid arithmetic operator' ?