大多数现代 shell 都实现了基本的作业控制,例如挂起、恢复、中断和后台。
在 Python 中,如何使 shell 对 ^Z、fg、^C 和 bg(它们出现在 bash 中)敏感?或者我应该读什么?
大多数现代 shell 都实现了基本的作业控制,例如挂起、恢复、中断和后台。
在 Python 中,如何使 shell 对 ^Z、fg、^C 和 bg(它们出现在 bash 中)敏感?或者我应该读什么?
You can capture signals sent to your program using signal
module. For instance ^Z
means SIGTSTP
in Unix like systems.
import signal
jobs = []
def handler(signum, frame):
jobs.append(frame)
signal.signal(signal.SIGTSTP, handler)
Now when you type Ctrl+Z handler
will be called and print "catch". You can capture ^C
using signal.SIGINT
.
无需做任何事情:
python -c 'import time; time.sleep(600)'
你可以测试你所有的键盘组合;)