我想知道如何停止跑步过程将其附加后&
。
例如,我想安装软件foo
。现在,假设foo
有很多依赖项,需要一个小时才能完成。所以,我这样做:yum install foo &
。但我想通过将其置于前台(我的问题的实际前提)来停止正在进行的过程,以便我可以中断它,或者在必要时通过其他方法。
Ctrl+C似乎并没有阻止这个。
答案1
如果您启动命令的终端仍然打开,您可以通过运行将其恢复fg
。
如果不是,请通过运行ps aux | grep yum
或仅识别进程 ID pgrep yum
,然后使用kill PID
。或者,如果您知道只有一个yum
实例,请运行pkill yum
.
答案2
如果您位于同一个 shell 中,则始终可以使用该进程的前台fg
(如果您的 shell 支持它),此时您可以执行Ctrl+
C.
正如其他人提到的,您可以使用多种ps
选项kill
。
如果你愿意,你甚至可以使用top
和过滤你的用户名并以这种方式杀死。
答案3
尝试这个:
kill -QUIT `pidof yum`
这将停止,终止这个过程。可能需要使用比QUIT
信号更好的力量,然后尝试TERM
,然后再尝试KILL
。
你可能也比较懒,就这样做:
killall -QUIT yum
这将影响所有名为 的进程yum
。
答案4
您正在寻找的组合键不是
ctrl-c
当您中断进程时使用它(相当于使用ctrl- c)
如果您ctrl-z相反,您会将作业放在后台,类似于&最后使用。
但是,这样您就可以使用以下命令将进程带回前台fg
pidof
或者,您可以使用Scyld 中提到的方式查找 pid