ブックマーク / qiita.com/yushin (1)

  • HUPシグナルとnohupとdisownとバック/フォアグラウンドジョブの理解 - Qiita

    人に教えるには自分が完全に理解していなければ、ということで調査・検証した結果。 動機 シェルからバックグラウンドで処理を行うには? nohup コマンド実行 & を使う。 コマンド実行 => Ctrl-Z => disown を使う。 定番は前者だが、両者の違いは何なのか? disownとは一体何をするのか? この機会に調べてみた。 結果のまとめ 長くなったので最初にまとめを。しかしまとめも長い。 (後自分が読む時に一番下にスクロールしたくないので…) ジョブテーブル シェルはセッションに紐づくジョブテーブルを持っている。 バックグラウンドジョブを登録している。 (フォアグラウンドジョブは未確認。ソースを読むしかないか) jobsビルトインコマンド で一覧を参照可能。 ここに見える限り、シェルのexit時にSIGHUPを送る。 この一覧にない場合、exit時にSIGHUPは送らない。 シェ

    HUPシグナルとnohupとdisownとバック/フォアグラウンドジョブの理解 - Qiita
    tamu222i
    tamu222i 2018/02/13
  • 1