Python,如何在执行后终止“shell=True”子进程

2024-04-26 18:21:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在python脚本中执行以下命令:

#! /usr/bin/python

import shlex
import os
import subprocess
import string
import random
import signal



pro = subprocess.Popen("zcat production_dump_2013-09-16_12-00.sql.gz | PGPASSWORD=everything psql -d voylla_solr -h localhost -p 5432 -U nishant", shell=True)
pro.wait()
os.kill(pro.pid, signal.SIGTERM)

这给了我:

^{pr2}$

我也试过用

pro = subprocess.Popen("zcat production_dump_2013-09-16_12-00.sql.gz | PGPASSWORD=everything psql -d voylla_solr -h localhost -p 5432 -U nishant", shell=True)
pro.wait()
pro.kill()

这给了我:

^{pr2}$

如何在执行后终止进程以执行下一个命令


Tags: import命令sqlsignalosdumpproproduction
1条回答
网友
1楼 · 发布于 2024-04-26 18:21:33

^{}等待进程终止,因此一旦它返回,就没有什么可终止的了。在

一旦一个进程退出,你不应该“杀死它”。您唯一要做的就是收集它的返回代码,Popen.wait为您做了这件事。在

相关问题 更多 >