私のシステムでは2つのpythonプログラムが実行されています。たとえば、プログラムx
とプログラムy
と呼ばれています。
プログラムy
のpidを取得したいのですが、bashスクリプトのx
は取得しません。 pgrep python
を使用すると、両方のpidが取得され、どちらがどちらかわかりません。
Bashスクリプトで2つの違いをどのように見分けるかについてのアイデアはありますか?
-f
スイッチをpgrep
に使用することで、引数リストと照合できます(詳細については、man pgrep
を試してください)。
pgrep -f x
プログラムx
のみを生成する必要があります
pgrep -f y
それぞれプログラムy
のみ。
別の方法として、x
とy
が十分に一意でなく、行数が多すぎる場合は、ps
とgrep
を使用してオプションを増やすことができます。
ps ax | grep 'python x' | grep -v grep | awk '{print $1}'
この意志
python x
が含まれているもののgrep。ここで、python ./path/to/x
のようなパス指定子を追加する必要があるかもしれません。