web-dev-qa-db-ja.com

実行中のpythonプログラムが複数ある場合、pythonプログラムのPIDを確認するにはどうすればよいですか?

私のシステムでは2つのpythonプログラムが実行されています。たとえば、プログラムxとプログラムyと呼ばれています。

プログラムyのpidを取得したいのですが、bashスクリプトのxは取得しません。 pgrep pythonを使用すると、両方のpidが取得され、どちらがどちらかわかりません。

Bashスクリプトで2つの違いをどのように見分けるかについてのアイデアはありますか?

3
user3346931

-fスイッチをpgrepに使用することで、引数リストと照合できます(詳細については、man pgrepを試してください)。

pgrep -f x

プログラムxのみを生成する必要があります

pgrep -f y

それぞれプログラムyのみ。

別の方法として、xyが十分に一意でなく、行数が多すぎる場合は、psgrepを使用してオプションを増やすことができます。

ps ax | grep 'python x' | grep -v grep | awk '{print $1}'

この意志

  • 関連するすべてのプロセスを一覧表示する
  • python xが含まれているもののgrep。ここで、python ./path/to/xのようなパス指定子を追加する必要があるかもしれません。
  • 一致するプロセスのリストからgrepコマンド自体を削除します
  • pidである最初の列のみを出力します。
4
Karsten S.