0

常に固定プロセスIDを使用するようにPythonスクリプトを設定したいと思います。だから私はそれを殺したいたびに私はそれのためにpsauxをする必要はありません。助けてください。

私はUbuntuとCentOSを使用しています。

Ubuntuは私のテストシステムですCentOSは私のサーバーです

4

3 に答える 3

2

これは不可能です。PosixプロセスIDはランダムであることが保証されています(たとえばOpenSSL、プロセスIDを使用して乱数ジェネレーターをシードします)。あなたができる唯一のことは、プロセスIDをファイルに書き込み、書き込まれたプロセスIDに基づいてプロセスを強制終了することです。

kill `cat x.pid`
于 2012-09-04T09:26:09.513 に答える
2

これは、Pythonやその他のプロセスでできることではありません。

プロセスIDはLinuxカーネルによって割り当てられ、IDの一意性が保証されています。

さらに、プロセスが別のプロセスの子プロセスとして使用されている場合、そのプロセスIDは、親プロセスが終了ステータスを読み取ったことを確認するまで、カーネルプロセステーブルに残ります。つまり、後でプロセスIDを単純に再利用することはできず、プロセステーブルで予約されている可能性があります。

毎回プロセスをキャッチするクリエイティブなkillコマンドを考案できると確信しています。

kill `ps -fC python2.7 | grep yourscriptname.py`

または類似。

于 2012-09-04T09:26:19.100 に答える
0

プロセスを削除するための小さなスクリプトを書いてみませんか。

#!/bin/sh
#Kill my python process called myPython
kill `ps -A | grep myPython | nawk '{ print $1}'`
# Or
kill `ps -U myname | grep myPython | nawk '{ print $1}'`

そして、スクリプトを実行するだけでプロセスを強制終了できます...

于 2012-09-04T09:26:24.270 に答える