web-dev-qa-db-ja.com

バックグラウンドでジョブを殺すには?

Kill %(number)を使用してジョブを強制終了する方法は知っていますが、バックグラウンドジョブとしてジョブを強制終了することは可能ですか。質問は「バックグラウンドジョブとしてtailを強制終了しますか?」です。

3
Phantom1421

いくつかの ジョブを指定する方法 があり、%fooは、コマンドがfooで始まるジョブを指定し、%?fooは、コマンドがサブストリングを含むジョブを指定します。 foo。明確なプレフィックスまたはサブストリングを指定する必要があります。複数のストリングが一致する場合、シェルはエラーを報告します。これはPOSIX機能です。

kill %tail

(これは特に、現在のシェルのバックグラウンドジョブを強制終了するためのものです。allを強制終了する場合は、tailプロセスをユーザーは、現在のシェルの仕事であるかどうかに関係なく、 pkill を使用できます。明らかに、tailなどの一般的なユーティリティでは、これにより担保が発生する可能性があります。損傷。最初に同じ引数を指定してpgrepコマンドを実行し、何が殺されるかを確認します。)

他のプロセスのようにそれを殺すことはうまくいくはずです:

pkill tail

ただし、注意が必要な場合は、事前にtop、htop、またはpsでPIDを確認できます。

1
Nick Miller