私はそれを使用していますUbuntu14.04理解できない動作が発生します。
- コマンドを実行します
yes
(デフォルトのシェルでは:吹く) - CtrlZ停止するには入力してください。
yes
- ランニング
jobs
。出力:
[1]+ Stopped yes
kill -9 %1
停止するまで走ってくださいyes
。出力:
[1]+ Stopped yes
- ランニング
jobs
。出力:
[1]+ Stopped yes
これは、3.16.0-30-generic
パラレル仮想マシンで実行されるUbuntuにあります。
kill -9
私のコマンドが終了しないのはなぜですか?はい注文する?私の考えでは信号を殺す捕まったり無視することはできませんか?どうやって終了できますか?はい注文する?
ベストアンサー1
プロセスを一時停止するためのシグナルがブロックされました。ターミナルから:
$ yes
...
y
y
^Zy
[1]+ Stopped yes
2番目のターミナルで:
$ killall yes
最初の端末で:
$ jobs
[1]+ Stopped yes
$ fg
yes
Terminated
しかし、SIGKILL
止めることはできません。 2番目の端末で同じことを行うと、killall -9 yes
端末からすぐに結果が得られますyes
。
[1]+ Killed yes
したがって、kill -9 %1
プロセスをすぐに終了しないbash
場合は、プロセスを破棄するまで信号が実際に送信されないか、fg
カーネルでバグが見つかりました。