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

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

是否有键盘组合键可用于暂停终端中正在运行的程序?如果重要的话,我不打算在程序暂停时在该终端内运行任何其他程序。我只想暂停程序执行,稍后再恢复。我该怎么做?

答案1

Control+ Z

这将暂停进程并返回到 shell。你%如果您愿意,可以立即执行其他操作,或者您可以通过输入后跟返回后台进程Return

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

答案2

这是bash 作业控制

使用CTL-Z停止工作。

然后你可以输入背景在后台运行它,如果只有一项工作,它就会这样做。

如果你有多个,你可以使用工作然后列出并使用%N%N %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
查找/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,这就像按下暂停键,然后检查是否有变化,好的,不是这样,然后冲洗并重复,直到找到问题。

希望这可以帮助。

答案3

我知道这个答案有点晚了,但是你可以使用快捷方式Ctrl+s来停止你的程序(如果你想读取输出或类似的东西),然后你可以继续使用快捷方式Ctrl+q

相关内容