web-dev-qa-db-ja.com

デーモンとして開始されたプロセスを強制終了する方法は?

foo &を使用してプロセスを開始します。

次のような出力があります。

[1] 16915

これはプロセスIDだと思います。この番号をMY_PROCESS_IDという名前の変数に格納するにはどうすればよいですか(たとえば)?

それから私はすることができます:

kill $MY_PROCESS_ID

そして私のプロセスIDは殺されます。

4
Ionică Bizău
foo &
bg_pid=$!
kill "$bg_pid"

シェルの内部killコマンドを(少なくともbashの場合は)ジョブ番号とともに使用することもできます。

foo &
kill %1

しかし、それはおそらく簡単ではありません。インタラクティブに簡単になる場合があります。しかし、

kill %+

または

kill %

あなたはいつも最後のものを手に入れます。コマンドラインの一部で強制終了するジョブを特定することもできます。見る man bash;ブロックを検索するJOB CONTROL

5
Hauke Laging

$!変数は、最後のプロセスがバックグラウンドで開始された場合のPIDです。あなたはするでしょう:

foo &
my_process_id=$!

: other stuff ...

kill "$my_process_id"
1
Graeme