command & exit
端末で実行するとき(なぜvimiv & exit
)ビミフ端末が閉じても引き続き実行しますか?私は期待ビミフ現在の端末でバックグラウンドジョブから開始して受信ため息をつくターミナルが閉じて出るとき。たとえば、vimiv &
別のexit
コマンドを実行するとビミフ閉鎖される
答え1
vimivが現在の端末でバックグラウンドジョブとして起動し、端末が閉じて終了したときにため息をつくようにしたいと思います。
いいえ、そうではありません。シグナルの場合(カーネルから)シグナルのみが受信されますvimiv
。SIGHUP
展望仕事であれ、それとも停止背景作業。しかし、両方ではありません。実行中のバックグラウンドジョブ。
あるいは、bash(通常はシェルではなく特にbash)自体がシグナルを受け取り、拒否されていないすべてのジョブにSIGHUP
再送信する場合です。しかし、あなたの例では、シェルは[1]によってシグナルをexit
受け取ったため、正常に終了しません。SIGHUP
たとえば、
vimiv &
他のexit
コマンドを実行した後にvimiv
閉じると
vimiv &
これはこのプログラムに少し珍しいかもしれません。端末に別の行を入力して入力すると、xclock &
プログラムは終了しません。ただし、ボタンで端末を閉じると終了します。これは信号が受信されて再送信されるためです。exit
xclock
X
bash
SIGHUP
xclock
[1] bashは正常に終了したときにaを送信することもできますが、これはデフォルトではなくSIGHUP
使用することができます。shopt -s huponexit