1

Python で記述されたスクリプトがあり、あらかじめ決められた順序で一連のプロセスを実行します。これらの処理を実行するために、次の関数を使用します。

ON_POSIX = "posix" in sys.builtin_module_names

def executeCommand(cmd):
    print cmd
    p = Popen(cmd, stdout=PIPE, bufsize=1, close_fds=ON_POSIX, shell=True)
    p.communicate()

ただし、これらのプロセスが実行されると、関数が返されず、永遠にそこに留まることがあります。子プロセスが top または ps aux | にリストされていません。grep . これらのプロセスが戻ってこない理由は何ですか?

PS私は自分でインストールしたサービスからこれを実行しています。また、Python プール (スレッドプール) からそれらを実行しようとしましたが、それなしで実行しました (スレッドプールと個別に実行した場合の両方で発生します)。

4

0 に答える 0