2015-04-07 51 views
0

我正在開發一個類似於Linux的程序ping。 包發送程序就像那個叫count.py如何使python子進程停止?

import time 
num = 0 
while True: 
    print num 
    # send a package 
    num += 1 
    time.sleep(2) 

而基於GUI的包裝就是這樣

import subprocess, signal, time, os 

cmd = "python count.py" 
P = subprocess.Popen(cmd,shell=True) 

while True: 
    time.sleep(5) # GUI Pause button clicked 
    os.kill(P.pid, signal.SIGSTOP) 
    print "doing something" # GUI Resume button clicked 
    os.kill(P.pid, signal.SIGCONT) 

但是當我運行封裝輸出就是這樣。

0 
1 
2 
doing something 
3 
4 
doing something 
5 
6 
7 

我想知道劑量wrapper.py使count.py暫停?如果系統給出一個進程睡眠10秒鐘的信號STOP,這個過程會在10秒後醒來? 或者有一些策略可以讓子進程暫停和恢復?

回答