Skip to content
This repository was archived by the owner on Dec 2, 2021. It is now read-only.
This repository was archived by the owner on Dec 2, 2021. It is now read-only.

How to kill multiprocess parent program? #16

Description

@daiguadaidai

I run program but can't kill parent proccess.

code:

#-*- coding:utf-8 -*-
from concurrent import futures
import os
import sys
import signal
def test(num):
import time
print os.getpid()
time.sleep(100)
return time.ctime(), num
def handle_interrupt(signum, frame):
print 'CAUGHT SIGINT!!!!!!!!!!!!!!!!!!!'
sys.exit(1)
def main():
signal.signal(signal.SIGTERM, handle_interrupt) # kill
signal.signal(signal.SIGINT, handle_interrupt) # Ctrl+C
signal.signal(signal.SIGQUIT, handle_interrupt) # Ctrl+\
with futures.ProcessPoolExecutor(max_workers=3) as executor:
print 'id:', id(executor)
future1 = executor.submit(test,1)
future2 = executor.submit(test,2)
print future1
print future1
print future1.result()
print future2.result()
if __name__ == '__main__':
main()

run and press Ctrl + C can exit program:

python mul_future.py id: 140637338392144
<Future at 0x7fe8a35b8ad0 state=running>
<Future at 0x7fe8a35b8ad0 state=running>
2082
2083
^C
CAUGHT SIGINT!!!!!!!!!!!!!!!!!!!
CAUGHT SIGINT!!!!!!!!!!!!!!!!!!!
CAUGHT SIGINT!!!!!!!!!!!!!!!!!!!
CAUGHT SIGINT!!!!!!!!!!!!!!!!!!!

But use kill can't exit program

**session1:**run program:

python mul_future.py id: 140243206338128
<Future at 0x7f8cdf41aad0 state=running>
<Future at 0x7f8cdf41aad0 state=running>
2091
2092

**session2:**kill parent proccess:

ps -ef | grep python
root 2087 1910 0 21:32 pts/0 00:00:00 python mul_future.py
root 2091 2087 0 21:32 pts/0 00:00:00 python mul_future.py
root 2092 2087 0 21:32 pts/0 00:00:00 python mul_future.py
root 2093 2087 0 21:32 pts/0 00:00:00 python mul_future.py
kill 2087
ps -ef | grep python
root 2087 1910 0 21:32 pts/0 00:00:00 python mul_future.py
root 2091 2087 0 21:32 pts/0 00:00:00 python mul_future.py
root 2092 2087 0 21:32 pts/0 00:00:00 python mul_future.py
root 2093 2087 0 21:32 pts/0 00:00:00 python mul_future.py

what should i do?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions