2017-04-07 3 views
0

Jar 파일로 컴파일 및 압축 된 Java 응용 프로그램이 있습니다. 응용 프로그램 내부에 while (true) 루프가 있습니다. 내가Nohup java process timeout or killed

nohup java -jar processName.jar > log.txt 

을 사용하여 UNIX 서버에서 내 응용 프로그램을 실행할 때

내 주요 문제는 잘 시작이됩니다. 잠시 후 (이유는 모르겠지만 로그 파일은 예외가 아닙니다) 종료 된 것으로 보입니다. ps -ef로 프로세스를 볼 수 있지만 로그 파일과 출력 파일이 전혀 변경되지 않습니다.


잠시 후 nohup 프로세스가 종료됩니까? 그것은 시간 초과 또는 내가 어떤 구성을해야합니까? 그리고 서버에서 백그라운드 프로세스를 만드는 가장 좋은 방법은 무엇입니까?

답변

0

Nohup은 프로그램이 종료되거나 프로세스를 중단하지 않는 한 중지되지 않습니다.이 프로세스는 ssh 쉘에서 연결을 해제하는 것을 포함합니다. 백그라운드에서 프로그램을 실행하려면 명령 후 앰퍼샌드 (&)를 추가 : 나중에 쉽게 죽일하려는 경우 nohup java -jar processName.jar > log.txt &

화면도 유용 할 수 있습니다.

백그라운드에서 실행 중일 때 여전히 멈 추면 Java 코드의 내용이 자동으로 종료되므로 거기에서 조사하십시오.

일부 컴퓨터에서는 우선 순위가 낮은 CPU 호깅 프로그램이 자동으로 종료 될 수 있습니다. while 회 돌이가 항복하지 않는 경우, (이럴 가능성은 없지만) 프로세스가 종료되는 이유가 될 수 있습니다.