阅读量:1
Python中可以使用subprocess
模块创建子进程。子进程的退出方法有以下几种:
- 调用子进程对象的
wait()
方法等待子进程退出,该方法会阻塞当前进程,直到子进程退出为止。
import subprocess p = subprocess.Popen(['command'], stdout=subprocess.PIPE) p.wait() # 等待子进程退出
- 使用
subprocess
模块中的check_call()
或check_output()
等函数,它们会等待子进程退出并返回子进程的退出码。
import subprocess subprocess.check_call(['command']) # 等待子进程退出
- 调用子进程对象的
communicate()
方法等待子进程退出,并返回子进程的输出结果。
import subprocess p = subprocess.Popen(['command'], stdout=subprocess.PIPE) output, error = p.communicate() # 等待子进程退出,并获取输出结果
- 可以使用
terminate()
方法杀死子进程,该方法会向子进程发送SIGTERM
信号,然后子进程会收到该信号并退出。
import subprocess p = subprocess.Popen(['command']) p.terminate() # 杀死子进程
- 使用
kill()
方法可以发送其他信号杀死子进程。
import subprocess p = subprocess.Popen(['command']) p.kill() # 杀死子进程
请根据具体的需求选择适合的方法来退出子进程。