【发布时间】:2015-05-15 15:26:06
【问题描述】:
b.py
import subprocess
f = subprocess.Popen(['python', 'a.py'])
time.sleep(3000)
a.py
import time
time.sleep(1000)
运行python b.py,按CTRL+C,两个进程都会终止。
但是向父进程b.py发送信号SIGINT,kill -2 xxxx,但是子进程a.py仍然存在。
【问题讨论】:
-
是什么让你认为 CTRL-C 被当作 SIGINT 处理?
-
错字。信号情报。反正我说的是信号 2
-
同样的问题,是什么让你认为 CTRL-C 是一个简单的 SIGINT?你在什么操作系统上运行它?
-
Linux。我在 Internet 上找到的每条信息都告诉我 CTRL+C 等于 SIGINT。
-
Ctrl+C与此处的os.killpg(xxxx, signal.SIGTERM)类似。
标签: python linux process subprocess