ps -ef | grep "keyword"
を使用して、デーモンプロセスのpidを決定します(ps -efの出力には一意の文字列があります)。
pkill keyword
でプロセスを強制終了できます。強制終了せずにpidを返すコマンドはありますか? (pidofまたはpgrepは機能しません)
-f
オプションを含める限り、canpgrep
を使用できます。これにより、pgrep
は、プロセス名だけでなく、コマンド全体(引数を含む)のキーワードに一致します。
pgrep -f keyword
manページ から:
-f
パターンは通常、プロセス名に対してのみ照合されます。-f
が設定されている場合、完全なコマンドラインが使用されます。
本当にpgrepを避けたい場合は、以下を試してください:
ps -ef | awk '/[k]eyword/{print $2}'
キーワードの最初の文字の周りの[]
に注意してください。これは、awk
コマンド自体との一致を回避するための便利なトリックです。
お試しください
ps -ef | grep "KEYWORD" | awk '{print $2}'
このコマンドは、KEYWORDを含むプロセスのPIDを提供する必要があります。この場合、awk
は、出力の2列目にあるものを返します。
ps -ef | grep KEYWORD | grep -v grep | awk '{print $2}'
私が使う
ps -C "keyword" -o pid=
このコマンドは、PID番号を提供する必要があります。
これはLinuxで利用可能です:pidofキーワード
特定のキーワードでプロセスを強制終了するには、~/.bashrc
(linux)または~/.bash_profile
(mac)でエイリアスを作成できます。
alias killps="kill -9 `ps -ef | grep '[k]eyword' | awk '{print $2}'`"