慌てないでください。

慌てないでください。

私はそれを使用していますUbuntu14.04理解できない動作が発生します。

  1. コマンドを実行しますyes(デフォルトのシェルでは:吹く)
  2. CtrlZ停止するには入力してください。yes
  3. ランニングjobs。出力:
    [1]+ Stopped yes
  4. kill -9 %1停止するまで走ってくださいyes。出力:
    [1]+ Stopped yes
  5. ランニング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カーネルでバグが見つかりました。

おすすめ記事