추가 읽기

추가 읽기

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 ...

답변2

catalina.shSystemd 공포의 집에서 오늘날 systemd에서 작동하는 것은 이미 IBM System Resource Controller에서도 작동합니다.30 년. 나는 실제로 사람들에게 SRC에서 실행되는 데몬을 작성하는 적절한 방법을 알려주는 일반적인 답변 중 하나에서 IBM Redbook을 참조했으며 이는 다른 시스템에도 동일하게 적용됩니다.1995년에.

catalina.shbodge Poor Man's Dæmon Supervisor와 Bad Logger를 사용하는 것은 올바른 접근 방식이 아닙니다.

catalina.sh에 싸여다른스크립트는분명히이는 올바른 접근 방식이 아닙니다. 그 rc스크립트를 사용하지 말라고 했어https://unix.stackexchange.com/a/563486/5132.

가장 좋은 방법은 그것을 제거하는 것입니다 catalina.sh. "Poor Man's Dæmon Supervisor" 및 "Bad Logger" 항목 또는 AIX와 전혀 관련이 없는 모든 항목을 제거하면 일부 환경 변수를 설정한 다음 명령을 실행하는 것 이상의 기능을 수행하지 않는다는 것을 알게 될 것입니다 java. 직접 할 수도 있고 많은 분들이하다직접하세요.

약간 열등한 방법은 runfor 동사를 사용하는 것입니다 catalina.sh.

추가 읽기

관련 정보