追加読書

追加読書

AIX サービスの状況を可視化する際に問題があります。まず、実行するシェルスクリプトを指すサブシステムを作成します。

mkssys -s testService -p /etc/rc.d/init.d/runScriptWithCatalina.sh -u 0

サービスをで起動すると、サブ startsrc -s testService -a "start"システムが開始されたとマークされます。

0513-059 The testService Subsystem has been started. Subsystem PID is 9502912.

そしてサービスは本当に効果があります。ただし、でサブシステムの状態を確認すると、機能しないとマークされ lssrc -aます。その理由は、サブシステムの起動時にcatalina.shスクリプトの起動を呼び出すrunScriptWithCatalina.shを呼び出し、catalina.shが分岐して新しいプロセスを作成し、サブシステムがそれを検出できないために機能しないというメッセージが表示されることです。です。 。 Catalinaスクリプトは次のとおりです。https://github.com/magro/msm-sample-webapp/blob/master/runtime/apache-tomcat-6.0.32/bin/catalina.sh。 tomcad.pidファイルには、表示されているサブシステムPID 9502912とは異なるpidが含まれています。

解決策や回避策がありますか、それとも別の方法がありますか?

ベストアンサー1

システムリソースコントローラはい関連する限り、正しい状態を表示します。開始されたPIDが終了しました。 SRCに期待状態を表示させるための最善のアドバイスは、execスクリプトチェーン内の各後続のスクリプトが、最終的なJavaプロセスが初期スクリプトと同じPIDを占有するようにすることです。

単純化された例:

ファイル:runScriptWithCatalina.sh

# ...
exec /path/to/catalina.sh

ファイル:/path/to/catalina.sh

# ...
exec java ...

おすすめ記事