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

How to kill multiprocess parent program? #16

Open
daiguadaidai opened this issue Nov 15, 2017 · 0 comments
Open

How to kill multiprocess parent program? #16

daiguadaidai opened this issue Nov 15, 2017 · 0 comments

Comments

@daiguadaidai
Copy link

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?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant