안녕하세요. 이전에 윈도우에서 응용 프로그램을 호스팅하고 RUNNING_PID 파일을 확인하는 서비스를 작성했습니다. 프로세스가 존재하지 않으면 새로운 쉘을 시작하고 응용 프로그램을 다시 시작하십시오.리눅스 머신에서 응용 프로그램 배포/호스팅
저는 현재 play clean dist를 사용하여 응용 프로그램을 배포하고 있습니다. 그래서 내 .jar 파일과 내 시작 스크립트를 만듭니다.
하지만 이제 리눅스에서 시스템을 설정하려고합니다 (우분투는 더 쉽게 변경 될 것입니다). 나는 파이썬 스크립트를 작성하여 똑같은 일을하고 그것이 15 분마다 실행되는지 확인하기 위해 cron 작업을 할 계획이었다. 스크립트는 pid 파일을 검사하고 실행 중인지 확인한 다음 서비스를 시작합니다. 이것은 작동하지만 시작을위한 새로운 하위 프로세스를 시작할 때 ./start & 모든 재생 출력을 인쇄하고 프로세스가 닫힐 때까지 기다립니다.
playframework 용 워치 독 유형 서비스를 만드는 더 좋은 방법이 있습니까?
쉘에서 ./start & 스크립트를 실행하려고해도 새 배경 스레드가 실행되지 않습니다.
그래 내가 포트 리스너가 좋은 아이디어 덕분에 생각과 out.txt하는 과정 쓰기를 감시합니다. 불행히도이 문제로 인해 스크립트가 끝나지는 않습니다. 원본 파이썬 스크립트를 차단하지 않는 프로세스를 시작하고 싶습니다. 그러나 NettyServer 명령을 실행하면 Python 스크립트가 잠 깁니다. 위의 내용을 입력하면 : nohup java $ * -cp $ classpath play.core.server.NettyServer dirname $ 0> out.txt & bash 스크립트에서 현재 터미널 화면을 잠급니다. 이 문제를 어떻게 해결할 수 있습니까? – user1434177
새로운 스레드를 시작하는 방법에 대해서는 파이썬 관련 문서를 참조하는 것이 좋습니다. 예 : http://softwareramblings.com/2008/06/running-functions-as-threads-in-python.html –