1. ホーム
  2. linux

[解決済み] ps -ef |grep キーワードからの pid の取得

2022-07-18 13:32:08

質問

私は ps -ef | grep "keyword" を使ってデーモンプロセスの pid を決定したいのです (ps -ef の出力に一意な文字列があります)。

でプロセスを終了させることができます。 pkill keyword でプロセスを殺すことができますが、殺す代わりにpidを返すようなコマンドはありますか?(pidofまたはpgrepは動作しません)

どのように解決するのですか?

あなたは できる 使用 pgrep を含む限り -f オプションが含まれている限りは。そのため pgrep はプロセス名だけでなく、コマンド全体(引数を含む)のキーワードにマッチします。

pgrep -f keyword

からの マンページ :

<ブロッククオート

-f       このパターンは通常、プロセス名に対してのみマッチングされます。 このとき -f が設定されている場合、完全なコマンドラインが使われます。


どうしてもpgrepを避けたいのであれば、試してみてください。

ps -ef | awk '/[k]eyword/{print $2}'

この [] をキーワードの最初の文字で囲んでいることに注意してください。これは、キーワードにマッチしないようにするための便利なトリックです。 awk コマンド自体にマッチしないようにするための便利なトリックです。