数秒SIGNAL
後にプロセスに送信したい。.5
たぶんこれは良い考えではありませんが、私はまれな一時的なケースのためにそれをしたいと思います。
私は次のように試しましたが、機能しません。
(sleep .5;kill -9)| some_process
信号はパイプに向けられていません。それらはプロセス識別子(pid)に向けられます。私はこのようなことを試みるかもしれません:
some_process & sleep .5; kill -KILL $!
これはバックグラウンドで実行some_process
されます(これ&
が目的です)。$!
0.5秒後、最後のバックグラウンドプロセスのpidを示す変数が使用されます。
(ただしsleep
、一部のシステムでは整数のみを受け入れます。)
sleep .5; kill -9 $(pidof some_process)
動作するはずです。pidof
プロセス名のプロセスIDを返します。は、コマンドの$()
結果をコマンドに返しますkill
。別の方法は次のとおりです。
sleep .5; pidof some_process | xargs kill -9
詳細を確認man pidof
してください。
編集:もありtimeout
ます。timeout -s SIGKILL 0.5s some_process
私があなたの質問を正しく理解したなら、トリックをするべきです。