0

psutilpythonライブラリを使用してプロセスを作成および強制終了しようとしています。私のスクリプトはプロセスを開始し、開始されたサブプロセスを強制終了しようとします。Windows と Linux で同じコードを実行します。Windows では、すべてがうまく機能します。Linux ではpsutils、サブプロセスが正しく開始されます (開始されたアプリはスクリプトの子であり、スクリプトと同じ権限で実行されますが、プロセスを強制終了しようとすると、プロセスはプロセスpsutilから切り離されますが、強制終了されません。アプリのコードを開始します。

self.__proc = psutil.Popen(cmd, cwd=working_directory, env=env, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

この後、開始された子プロセスを強制終了しようとします:

self.__proc.kill()
        self.__proc = None

これを使用して同じ動作を得ました:

while psutil.pid_exists(pid):
    p = psutil.Process(pid)
    if p is not None:
        p.kill()

私が開始したプロセスを強制終了できない理由を誰か説明できますか? 私が間違っていることは何ですか?

私はPython 2.7を使用しています。

4

0 に答える 0