HP-UX General
1824170 メンバー
2526 オンライン
109669 解決策
新規ポスト

HP-UX11iでのアプリケーションの自動起動

 
o.ms
新しいメンバー

HP-UX11iでのアプリケーションの自動起動

内容をみて勉強させていただいております。

一点、HP-UX11iでアプリケーションの自動起動をさせるために、rc3.dに起動スクリプトへのソフトリンクをいれて自動起動をさせたいのですが、一度アプリケーションが起動したのちに、SIGHUPを受け取り終了しております。

これは、HP-UXの仕様のようなのですが、どの様にして対応してよいものかこ教授をいただきたいのです。

よろしくお願いします。
5件の返信5
uhyo
貴重なコントリビューター

HP-UX11iでのアプリケーションの自動起動

nohup aa.sh のようにしてnohupをつければ

SIGHUPを無視できるようになります。

一度ためしてみてください。

または、本体がCなどで作成されているならば

そちらでsignalハンドルをいれたり、trapを

設定するのもいいと思います。
のらりん
新しいメンバー

HP-UX11iでのアプリケーションの自動起動

nohup で始めてSIGHUPを受けても終了しないようにしてはどうでしょうか?
oops
貴重なコントリビューター

HP-UX11iでのアプリケーションの自動起動

hp-ux というよりは、どの UNIX でも同じだと思います。process group reader が exit すると、SIGHUP をどうしても受けてしまうので。daemon プロセスは大抵 SIGHUP を無視するように作られているので、nohup をつけなくても死なないものが多いと思いますが。
勉強中
新しいメンバー

HP-UX11iでのアプリケーションの自動起動

回答ではなく申し訳ありませんが私も質問させてください。

o.msさんは問題が解決していたら申し訳ありません。

私もHPUX11iで同様な形で(SIGHUPでアプリケーションが終了)こちらを見てスクリプトと変更したのですが、SIGHUPを受けて終了しております。rc3.dへリンクしているものを手動で起動すると問題はありません。

スクリプトは、

/usr/bin/nohup su -ユーザ -c/スタートスクリプト

です。

「nohup」をつけるだけでなく、他も変更しなくてはならないのでしょうか?

ぜひ、ご教授をおねがいします。
ボーボボ
時折のアドバイザー

HP-UX11iでのアプリケーションの自動起動

勉強中さんへ

プロセスが終了してしまう原因が、SIGHUPを受けてしまうことであれば「nohup」をつけて起動するだけで解決するはずです。

nohupをつけても、プロセスが終了してしまうということであれば、他の原因が考えられるかもしれません。

スクリプトが/usr/bin/kshや/usr/bin/shであれば、シェルの先頭に

trap "" 1

を追加することでも対応可能です。(nohupと同じ意味です)

trapは受けたシグナルに対して、どのようなアクションをするか設定できますので、アクションの部分に何も入れなければ、そのシグナルを無視するという動きになります。