为什么不呢操作系统忽略信号?

2024-04-23 12:13:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我在读Linux系统编程。在

在介绍system(command)函数时,本书指出在command的执行过程中,SIGINT被忽略。在

因此,假设os.system只是底层系统函数的包装器,我尝试以下操作:

在循环.py在

while True:
      print 'You should not be able to CTRL+C me ;p'

试验_循环.py在

^{pr2}$

现在我用system执行loop.py,我希望SIGINT被忽略,但是当我在运行的程序上使用CTRL+C时,它仍然会被杀死。在

你知道为什么os.systemsystem()函数不同吗?在


Tags: 函数pytrueos过程linux系统编程
1条回答
网友
1楼 · 发布于 2024-04-23 12:13:24

调用system的应用程序将忽略SIGINT(只要system正在执行)。它不会被system生成的应用程序忽略。因此,如果按CTRL+c,将中止loop.py的执行,但不会中止{}的执行。因此,如果在调用system之后添加一些代码,您将看到这些代码将在按CTRL+c之后执行

相关问题 更多 >