タグ

HUPに関するdai_yamashitaのブックマーク (2)

  • ログアウトしてもバックグラウンド ジョブを継続する方法

    はじめに SSH 接続で時間の掛かるシェルスクリプトをバックグラウンドで走らせて帰りたいのに、SSH 接続を切るとジョブが死んでしまいます。SSH 接続に限らず目の前の OS からログアウトしたりターミナル エミュレータを終了しても同じ現象が起こります。 この症状は正常です。なぜなら、バックグラウンド ジョブを起動したプロセス(ログイン シェル)が子プロセスである該当のバックグラウンドジョブをハングアップ シグナル( HUP )によって終了させるからです。 シェルスクリプトを起動した親プロセスは子プロセスの終了状態を監視しています。ですからログアウトして親プロセスであるシェルが終了すると子プロセスはゾンビ プロセスとなってしまうので親プロセスとなるシェル(ログインシェル)は子プロセスであるバックグラウンド ジョブを kill ( kill -HUP ) するのです。 nohup コマンド

    ログアウトしてもバックグラウンド ジョブを継続する方法
  • logrotateがプロセスにHUP送る理由を調べてみた - カイワレの大冒険 Third

    2016/07/04追記: 当時はこれで試行錯誤していましたが、当はlogrotateのソースコードを読んで理解すべきだと思います。あとカーネルね。若者が試行錯誤していたのだと、温かい目で見て頂ければと思います。 詳解Linuxカーネル第3版 Linux 2.6対応 [ ダニエル・P.ボベット ]posted with カエレバ楽天市場で探すAmazonで探す - ちょっと気になる症状があって、どう追うのがよいのか分からなかったんでけど、呟いたら色々ご意見もらったので、その調査ログ。 メモに残してから随分時間かかってしまった… まだ整理しきれていない部分があるので、あとで続き書くかも。多分。 ご意見・ご指摘あったら是非宜しくお願いします。 発端 発端は、logrorateが走るタイミングでrsyslogにHUPが送られるんだけど、どういう挙動になるのか、なぜそのHUPが必要なのかを追いた

    logrotateがプロセスにHUP送る理由を調べてみた - カイワレの大冒険 Third
  • 1