x
私のシステムでは、 programと programという 2 つの Python プログラムが実行されていますy
。
プログラム の pid を取得したいのですy
が、x
bash スクリプト用ではありません。 を使用するとpgrep python
、両方の pid が取得され、どちらがどちらかわかりません。
bash スクリプトでこれら 2 つを区別する方法はありますか?
答え1
-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}'
この意志
- 関連するすべてのプロセスをリストする
- grepでその中にあるものを検索します
python x
。ここでは、次のようなパス指定子を追加する必要があるかもしれません。python ./path/to/x
- 一致したプロセスのリストからgrepコマンド自体を削除します。
- 最初の列(pid)のみを出力します。