エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
シェルスクリプトでdaemon(3)みたいなこと - フツーな日常
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
シェルスクリプトでdaemon(3)みたいなこと - フツーな日常
正しい流儀ではどうすればいいんだろう。 ようするに時間のかかる処理をさせるときに制御端末から明示的... 正しい流儀ではどうすればいいんだろう。 ようするに時間のかかる処理をさせるときに制御端末から明示的に切り離してしまいたい。trapでSIGHUPを無視するだけでも最低限シェルを抜けた後も処理を継続することは出来るのだけど、ログアウト時にセッションを殺さなければならないのが面倒。 シェルスクリプトの中から$0を再帰呼び出して、呼び出された側で処理するというのが無難か。自分が制御端末から呼び出されたかスクリプトからforkされたかを確実に判定する良い方法が思いつかなかった。tty(1)を呼んで標準入力が端末か否かを判定するようにしてみたが、これでいいのかな。 #!/bin/sh trap "" HUP tty 1>/dev/null 2>&1 if [ $? -eq 0 ] ; then $0 $* & exit fi (追記)起動したシェルとの親子関係は断てたようだけど、やはりターミナルとの