2016-08-14 54 views
0

私はこの問題に遭遇しています。自分のプロセスを破壊せずにすべての子プロセスを強制終了します。すべての子は、PIDを処理し...プッシュを突き出すになる場合は、実際にこれらのライブラリにアクセスすることができない場合はPythonの誰にsubprocessまたはpsutilライブラリのいずれかを使用せずに、このすべては、任意のアイデアどのように子プロセスを強制終了し、子プロセスをpsutilまたはサブプロセスなしで実行する

+0

子プロセスはどのように起動していますか?リスト内でそれらを追跡し、 'process.terminate()'またはそれに類似するものを呼び出して、それらを強制終了することができます。下位レベルのAPIは['os.kill'](https://docs.python.org/2/library/os.html#os.kill)を使用することですが、これはpidを知り、標準ライブラリAFAIKを必要としますpidによるプロセスの検索を可能にする機能は含まれていません。だからpsutilを使いたくないなら、いつでも自分の上でその部分を再実装することができます... – Bakuriu

+0

なぜあなたは自分のベストを尽くすパッケージの使い方を奪いたいのですか? –

+0

@ Jean-FrançoisFabre私の環境では使用できません。インストール不可能ではありません。このライブラリを使用することは禁止されています。どうしてもそれを説明することはできません。それらのライブラリなしで済んだそれは学習プロジェクトの多くです –

答えて

1

を持って、あなたはosを使用することができます。たとえば

my_pid = os.popen('ps --no-headers -C name_of_process').read(5) 
if my_pid != "": 
    my_pid = int(my_pid) 
    os.kill(my_pid, signal.SIGTERM) 

「name_of_process」あなたはまた、コマンドpspkillでさらに見たいと思うかもしれませんあなたの実行可能
の名前になります。
注:Linux OSを使用していると仮定しています

関連する問題