init.d
디렉토리에 심볼릭 링크를 만듭니다 : ln -s /myservice.jar /etc/init.d/myservice
.
재부팅 후 시스템 심볼릭 링크는 일반 파일로 대체됩니다.
ls -l /etc/init.d/myservice
다시 시작하기 전 출력:
lrwxrwxrwx 1 root root 30 Mar 31 12:34 /etc/init.d/myservice -> /myservice.jar
다시 시작한 후:
-rwxrwxrwx 1 root root 41912304 Mar 31 12:40 /etc/init.d/myservice.jar
왜 이런 일이 발생합니까?
고쳐 쓰다.ISPmanager가 서버에서 사용되는데 이것이 문제가 될 수 있습니까?
답변1
실행하면 어떻게 되나요?
$ java -jar /etc/init.d/myservice
예상대로 작동합니까? 명령이 실행되는 순간을 정확히 대체합니까 myservice
? 그렇다면 우리는 당신이 묘사하는 신비한 행동에 대한 단서를 갖게 되었습니다.myservice.jar
java -jar
Jar 파일은 이식 가능하도록 설계되었지만 심볼릭 링크는 확실히 그렇지 않습니다. 따라서 이 동작은 클래스 경로 요구 사항을 충족하기 위해 Java 부분에서 일부 자동 수정의 직접적인 결과이길 바랍니다.
감사합니다, 미샤
답변2
service myservice start
신청을 시작하시겠습니까 ? ( service myservice.jar start
)
더 중요한 것은 service myservice stop
애플리케이션이 차단됩니까?
파일 내에 /etc/init.d
서비스 파일이 있습니다.
그것들은
start|stop|status|restart
유일한 인수로 호출되어야 합니다. (|
대표하거나)그들은 연결되어야 한다~에서
/etc/rcX.d
여기서 X는 실행 수준(0~6)입니다.또한 일부 지침에서는 시작 시기(파일 시스템 시작 전 또는 후, 네트워크 시작 전 또는 후, 데이터베이스, 웹 서버 등)를 알려주므로 rcinit가 이를 구문 분석합니다.