如何在Python中实现shell作业控制基础知识?

时间:2012-10-02 00:12:03

标签: python bash shell unix job-control

大多数现代炮弹都有基本的作业控制,如暂停,恢复,中断和背景。

如何在Python中使shell对^ Z,fg,^ C和bg(因为它们出现在bash中)敏感?或者我应该读什么?

2 个答案:

答案 0 :(得分:0)

无需做任何事情:

python -c 'import time; time.sleep(600)'

您可以测试所有键盘组合;)

答案 1 :(得分:0)

您可以使用signal模块捕获发送到您的程序的信号。例如,^Z在Unix系统中意味着SIGTSTP

import signal
jobs = []

def handler(signum, frame):
    jobs.append(frame)

signal.signal(signal.SIGTSTP, handler)

现在当你输入 Ctrl + Z handler将被调用并打印“catch”。您可以使用^C来抓取signal.SIGINT