import subprocess
import threading
import signal
import time
from threading import Timer
import sys
import subprocess
proecess = subprocess.Popen("echo 'hello' && sleep 5", shell=True, stdout=sys.stdout)
import os
import functools
def func(p):
print("pid:", os.getpid())
print("pgid:", os.getpgid(os.getpid()))
os.kill(os.getpid(), signal.SIGINT)
# os.killpg(os.getpgid(os.getpid()), signal.SIGINT)
time.sleep(1)
try:
print("kill process:")
p.kill()
except:
pass
a = Timer(2, functools.partial(func, proecess))
a.start()
try:
stdout = proecess.communicate()
ret_code = proecess.poll()
print("std_out:", stdout)
print("out:", ret_code)
finally:
a.cancel()
python定时任务式例
最新推荐文章于 2022-09-02 08:14:02 发布