好吧,我不知道为什么,但我见过这个问题被问过很多次,但似乎没有一个答案有帮助,但问题很明显,因为我在几台电脑上验证了这一点。
Ctrl+C
没有在终端(Ubuntu v10)中终止正在运行的程序,尽管它应该这样做。我想知道是否有人能真正指出一个真正有效的解决方案。
到目前为止我已经尝试了Ctrl+\
、、Ctrl+SysRq+K
以及更多——但都没有效果!
唯一能起作用的是Ctrl+Z
,但它实际上并没有终止/退出程序,而只是将其置于后台,然后您仍然必须执行操作kill %1
才能真正终止它。
谢谢!
答案1
注意:答案在评论之后...
我确信它会杀死大多数终端程序;当然,它不会杀死那些分叉新进程然后立即返回提示的程序。
有些程序可能会捕获此中断并以它们想要的方式处理它,甚至忽略它。这可能很大程度上取决于程序是设计为在终端中运行还是从 GUI 运行。
我在 10.04 和 11.10 中尝试过的一些即将终止的程序是:
ping - which runs continuously by default, so this is the only way to stop it;
find - often takes a long time, so it's useful to be able to end it.
gedit
答案2
实际上,许多程序不会停止,Ctrl+C
因为它所做的只是在当前正在运行的线程中创建一个异常。多线程程序以及带有“如果发生任何异常,继续前进”这类指令的程序将继续运行。动作的正确情况将是以下之一:
- 使用
Ctrl + Break
组合键。 - 按
Ctrl + Z
。这不会停止程序,但会返回命令提示符。然后,执行ps -ax | grep *%program_name%*
。找到与您要停止的程序相对应的行。行中的第一个整数将是程序 ID。执行kill -9 %id%
以最终停止它。 - 如果程序也消耗大量资源,您可以
top
在单独的终端中使用命令来更快地查看ID。
答案3
我的一个用户使用 10.04 时遇到了这个问题。这里讨论了同样的问题CTRL+C 在终端中不再起作用
但是您可以使用以下方式终止命令Ctrl+Shift+C
似乎复制到剪贴板和终止命令切换了它们的键盘快捷键。
答案4
第一步:(top
查看要终止其运行的程序的PID号。)
第二:kill PID