- Community Home
- >
- HPE Community, Japan
- >
- HP-UX
- >
- System Management
- >
- ServiceGuardのcmhaltpkgの動作について
カテゴリ
Company
Local Language
フォーラム
ディスカッションボード
フォーラム
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
ディスカッションボード
ディスカッションボード
ディスカッションボード
フォーラム
ディスカッションボード
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
フォーラム
ブログ
- RSS フィードを購読する
- トピックを新着としてマーク
- トピックを既読としてマーク
- このトピックを現在のユーザーにフロートします
- ブックマーク
- 購読
- 印刷用ページ
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-02-2005 08:59 PM
06-02-2005 08:59 PM
ServiceGuardのcmhaltpkgの動作について
環境はACT/SBY2台クラスタ構成、hp-ux11i、ServiceGuard(A11.16)です。
cmhaltpkgにてAというスクリプトを立ち上げます。
Aはsleepをwhileで回し、終わることはありません。
そのAからスクリプトBを起動し、スクリプトBからスクリプトCを起動します。
BはCを起動するとexitしますが、CはAと同様起動しっぱなしです。
ここである条件でCの中でスクリプトDを呼びCは終了。
Dの中でcmhaltpkgとcmrunpkg(別ノード指定で)を起動します。
ここで問題が発生しました。
このDの中で行っているcmhaltpkgを行うと、Dがいきなりいなくなってしまいます。
cmhaltpkgでいなくなるのはAだけだと思うのですが・・・。
Dもいなくなる為、cmrunpkgが実行されていないようです。
パッケージログ、シスログを見てもcmrunpkgが実行された形跡がないです。
ちなみにDをCからではなく、普通に実行するとhaltpkg、runpkg共に実行されます。
cmhaltpkgがAだけではなく、Dも終了させているのでしょうか?
cmhaltpkg実行直前のプロセスの親子関係はCはBがいなくなるためppid1に。Dも同様。
どなたか何かわかることがあればご教授願います。よろしくお願いします。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-08-2005 05:03 PM
06-08-2005 05:03 PM
ServiceGuardのcmhaltpkgの動作について
A が死んだことで SIGHUP シグナルが送信されたことが考えられます。
SIGHUP を無視するように nohup をつけて起動されるか、D の中で SIGHUP を無視するように trap をいれられたらどうですか?
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-08-2005 07:45 PM
06-08-2005 07:45 PM
ServiceGuardのcmhaltpkgの動作について
ご指摘のとおり、nohupをつけて起動するように変更してみましたが動作は変わりませんでした。
たぶん、ppidが1に変わっているので、Aが死んでもDにはSIGHUPは飛んでいかないんですよね?
(D の中で SIGHUP を無視するように trap を入れるというのは、ちょっとやり方がわからなかったのでやっていません。)
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-09-2005 10:28 AM
06-09-2005 10:28 AM
ServiceGuardのcmhaltpkgの動作について
ですので、ServiceGuardはAのプロセスグループに対してシグナルを送って停止させているものと思います。
そもそも、パッケージの中からパッケージ制御コマンドを実行すること自体が乱暴だと思います。
代替案として、cmhaltpkg, cmrunpkgを実行するのではなく、(ServiceGuardが監視しているであろう)スクリプトAをkillするのではどうでしょうか?
これで、ServiceGuardが自分でFail Overしてくれると思いますが。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-22-2005 02:17 PM
06-22-2005 02:17 PM
ServiceGuardのcmhaltpkgの動作について
hazelwood さんの意見に賛成です。
パッケージ制御コマンドを使ってパッケージ制御機能自体を作り出そうとされているように見えますから、MC/SG のパッケージ制御機能の上で動作するスクリプトということを考えて作成されると良いかと思います。
後、SIGHUP というシグナルについて補足ですが、SIGHUP は親プロセスが死んだ時に子プロセスに送られるシグナルではありません。そういうシグナルはありません。子プロセスが死んだ時には親プロセスに SIGCHLD が飛びますが。
SIGHUP はプロセスグループリーダが死んだ時に、そのプロセスグループに属するプロセスに飛ぶシグナルです。