![백그라운드에서 실행/초기 반환하는 방법은 무엇입니까?](https://linux55.com/image/40759/%EB%B0%B1%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9C%EC%97%90%EC%84%9C%20%EC%8B%A4%ED%96%89%2F%EC%B4%88%EA%B8%B0%20%EB%B0%98%ED%99%98%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
참고로 저는 phpseclib
원격 SSH 서버를 제어하기 위해 "root" 계정을 사용합니다.
백그라운드에서 실행 중인 Java 프로세스를 시작/중지해야 합니다. 중지는 잘 작동하며 killall java
이것이 지금 필요한 것입니다. 하지만 서버를 실행할 때 다음을 사용하고 있습니다.
(cd ./serv/; nohup java -classpath bin:deps/poi.jar:deps/netty.jar:deps/mysql.jar:deps/slf4j.jar:deps/slf4j-nop.jar:deps/jython.jar:log4j-1.2.15.jar: server.Server &)
보시다시피, 대괄호 안의 두 번째 명령으로 & 연산자를 사용하고 있습니다. 반환 값/종료 코드를 기다리면서 페이지가 계속 로드되더라도 명령이 올바르게 실행됩니까? 결국 내 웹 호스트의 모든 메모리를 소모합니다.
대답은 nohup의 출력을 수동으로 지시해야 한다는 것입니다.
편집: 대답하세요! !
(cd ./serv/; java -classpath bin:deps/poi.jar:deps/netty.jar:deps/mysql.jar:deps/slf4j.jar:deps/slf4j-nop.jar:deps/jython.jar:log4j-1.2.15.jar: server.Server >/tmp/test.out 2>&1 &)
도움을 주신 Mikeserv에게 감사드립니다.
답변1
cd ./serv/; java -classpath bin:deps/poi.jar:deps/netty.jar:deps/mysql.jar:deps/slf4j.jar:deps/slf4j-nop.jar:deps/jython.jar:log4j-1.2.15.jar: server.Server >/tmp/test.out 2>&1 &
@mikeserv님의 답변 답변이 없는 대기열에서 제거될 수 있도록(1년 반 후) @Sebastian님의 요청에 따라 게시합니다.