Python 为什么';系统忽略信号?

Python 为什么';系统忽略信号?,python,linux,Python,Linux,我正在读Linux系统编程 在介绍系统(命令)功能时,本书指出,在执行命令期间,SIGINT被忽略 因此,假设os.system只是底层系统函数的包装器,我尝试以下操作: loop.py while True: print 'You should not be able to CTRL+C me ;p' test_loop.py import os os.system("python loop.py") 现在我正在使用system执行loop.py,我希望SIGINT

我正在读Linux系统编程

在介绍
系统(命令)
功能时,本书指出,在执行
命令期间,
SIGINT
被忽略

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

loop.py

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

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


调用
system
的应用程序将忽略
system
system()
函数不同的原因(只要
system
正在执行)。
系统生成的应用程序不会忽略它。因此,如果按CTRL+c,将中止执行
loop.py
,但不会中止执行
test\u loop.py
。因此,如果您在调用
system
后添加一些代码,您将看到该代码将在按下CTRL+c后执行。

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