0

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)

これは私に与えます:

OSError: [Errno 3] No such process

私も使ってみました

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()

そしてこれは私に与えます:

OSError: [Errno 3] No such process

次のコマンドを実行するために、実行後にプロセスを強制終了するにはどうすればよいですか

4

1 に答える 1

1

Popen.waitプロセスが終了するのを待つため、プロセスが戻ったら殺す必要はありません。

プロセスが終了したら、「それを強制終了」することは想定されていません。あなたがしなければならない唯一のことは、そのリターン コードを収集するPopen.waitことです。

于 2013-09-16T10:49:50.900 に答える