在终端中暂停长时间运行的程序?

bec*_*cko 20 gnome-terminal execute-command

是否有可用于暂停在终端中运行的程序的键盘组合键?以防万一,我不打算在程序暂停时在该终端内运行任何其他内容。我只想暂停程序执行,稍后再恢复。我怎样才能做到这一点?

Oli*_*Oli 23

Control+ Z

这将挂起进程并使您返回到 shell。你可以现在就做其他的事情,如果你想,或者你可以通过输入返回后台进程%之后Return

请注意,如果您要对需要响应的事物执行此操作,您将破坏系统,但如果它只是一个nano实例之类的东西,一切都应该没问题。


ppe*_*aki 18

这是bash 作业控制

使用CTL-Z停止作业。

然后你可以输入bg在后台运行它,如果只是在工作,它就是这样做的。

如果您有多个,您可以使用作业列出然后使用fg %Nbg %N达到所需的效果。

例子:

ubuntu@ip-10-170-59-120:~$ find /usr -name "*.so"
/usr/lib/python2.7/dist-packages/OpenSSL/crypto.so
/usr/lib/python2.7/dist-packages/OpenSSL/SSL.so
/usr/lib/python2.7/dist-packages/OpenSSL/rand.so
/usr/lib/python2.7/dist-packages/gi/_glib/_glib.so
/usr/lib/python2.7/dist-packages/gi/_gobject/_gobject.so
/usr/lib/python2.7/dist-packages/gi/_gi.so
/usr/lib/python2.7/config/libpython2.7.so
...
^Z
[1]+ 停止查找 /usr -name 

ubuntu@ip-10-170-59-120:~$ 工作
[1]+ 停止查找 /usr -name "*.so"

ubuntu@ip-10-170-59-120:~$ fg %1
find /usr -name "*.so"
/usr/lib/php5/20090626+lfs/apc.so
/usr/lib/php5/20090626+lfs/memcache.so
/usr/lib/php5/20090626+lfs/mysql.so
...

对于未附加到 TTY 的任何其他内容,您可以使用SIGSTOP 和 SIGCONT。因此,例如,如果您认为某个守护进程导致了问题,但您不知道是哪个守护进程,您可以发送 pid SIGSTOP,就像点击暂停,然后检查更改,好吧,不是这样,然后冲洗并重复直到您发现问题。

希望这可以帮助。


Sid*_*med 6

我知道这个答案有点晚了,但是您可以使用快捷方式Ctrl+s停止您的程序(如果您想阅读输出或类似内容),那么您可以继续使用快捷方式Ctrl+q