を使用してプロセスを開始しますfoo &
。
次のように出力されます。
[1] 16915
プロセスIDだと思います。この数字をMY_PROCESS_ID
(たとえば)という変数にどのように保存できますか?
その後、次のようにできます。
kill $MY_PROCESS_ID
私のプロセスIDは終了します。
答え1
foo &
bg_pid=$!
kill "$bg_pid"
ジョブ番号とともにシェルの内部コマンドを使用することもできますkill
(少なくとも場合)。bash
foo &
kill %1
しかし、簡単ではないかもしれません。相互作用がより容易になる可能性があります。しかし、一緒に
kill %+
または
kill %
あなたはいつも最後のものを手に入れます。コマンドラインの一部を介して終了するタスクを識別することもできます。man bash
ブロックを検索してみてくださいJOB CONTROL
。
答え2
$!
最後のプロセスがバックグラウンドで開始された場合、この変数はPIDです。あなたはこれを行います:
foo &
my_process_id=$!
: other stuff ...
kill "$my_process_id"