与子流程不同。Popen,多处理。进程没有send_signal方法。为什么?有没有推荐的方法可以将SIGINT这样的信号发送到多处理。过程我应该使用os.kill((吗?提前谢谢。
你的第一个问题完全有意义
I认为这是因为multiprocessing
和subprocess
库有不同的设计目标(正如这个答案所解释的(:前者用于使多个Python脚本在不同的CPU上协作以实现一个共同的任务,而后者用于在Python程序中集成外部程序。因为IPC(进程间通信(在协作的Python多进程之间(有队列和管道,您可以将Python对象作为参数传递,…(比使用外部程序要容易得多,因为我们只能假设外部程序遵守OS接口(文本stdin
/stdout
,应该正确处理信号,…(。
与另一个进程通信的默认方式因此,多进程不是一个操作系统信号,因此集成它被认为没有用处。
还请记住,(C(Python是开放源码的,所以您可以自己贡献这种集成。
至于你的第二个问题,已经有了答案(cf如何从python程序发送信号?(,是的:
使用
os.kill()