
나는. 할 수 있다다음과 같이 파일을 실행합니다.
java -jar server.jar 4242
그래서 스크립트가 있어요자바 서버.sh시작하세요:
#!/bin/sh
java -jar server.jar 4242 &
server.jar은 시스템 시작 시 작업을 시작해야 하므로 다음을 시도했습니다.
- 다음에 추가@reboot /home/user/java-server.sh도착하다크론탭 -e
- 다음에 추가bash java-server.sh || 1번 출구도착하다로컬 파일
- 다음에 추가자바 서버.sh/etc/init.d로
아무도 작동하지 않았습니다. 시스템에 로그인하고 스크립트를 시작하면 로그아웃할 때까지 시계처럼 작동합니다. 여기서 문제가 무엇입니까?
답변1
스크립트의 전체 경로를 호출해야 합니다. 예 /etc/rc.local
:
bash /usr/local/bin/java-server.sh > /tmp/java-server.log 2>&1
/usr/local/bin
물론 스크립트가 에 있는 경우 ... 다른 잠재적인 문제를 디버그하기 위한 로그 파일도 생성됩니다. (프로덕션에서는 보안상의 이유로 적절한 권한, 보존 및 로그 회전을 사용하여 /tmp가 아닌 /var/log에 이러한 로그 파일을 생성해야 하지만 이는 답변 목적으로 단순화되었습니다.)