서비스의 필요성
는 수동으로 또는 rc.local
와 같은 스크립트를 통해 수동으로 또는 스크립트를 통해 시작될 수 있습니다. 서버 재시작과 독립적 인 응용 프로그램을 관리하려면 서비스로 실행하는 것을 고려하십시오.서비스 스크립트 생성
#!/bin/sh SERVICE_NAME=your_service_name PATH_TO_JAR=full_path_to_jar_file PID_PATH_NAME=/tmp/your_service_name-pid case $1 in start) echo "Starting $SERVICE_NAME ..." # Check if service is already running if [ ! -f $PID_PATH_NAME ]; then # Execute Java command in the background (daemonize) nohup java -jar $PATH_TO_JAR > /tmp/service_name.log 2>&1 & # Store PID to track process echo $! > $PID_PATH_NAME echo "$SERVICE_NAME started ..." else echo "$SERVICE_NAME is already running ..." fi ;; stop) # Check if PID file exists to ensure service is running if [ -f $PID_PATH_NAME ]; then PID=$(cat $PID_PATH_NAME) echo "$SERVICE_NAME stopping ..." # Kill process kill $PID echo "$SERVICE_NAME stopped ..." # Remove PID file rm $PID_PATH_NAME else echo "$SERVICE_NAME is not running ..." fi ;; restart) # Stop service if [ -f $PID_PATH_NAME ]; then PID=$(cat $PID_PATH_NAME) echo "$SERVICE_NAME stopping ..." kill $PID echo "$SERVICE_NAME stopped ..." rm $PID_PATH_NAME else echo "$SERVICE_NAME is not running ..." fi # Start service echo "$SERVICE_NAME starting ..." nohup java -jar $PATH_TO_JAR > /tmp/service_name.log 2>&1 & echo $! > $PID_PATH_NAME echo "$SERVICE_NAME started ..." ;; esac
서비스 스크립트를 작성하려면 다음 단계를 따르십시오. service_name = Your_Service_name path_to_jar = full_path_to_jar_file pid_path_name =/tmp/your_service_name-pid 사례 $ 1 인치 시작) echo "$ service_name 시작 ..." # 서비스가 이미 실행 중인지 확인하십시오 만약에 [ ! -f $ pid_path_name]; 그 다음에 # 백그라운드에서 Java 명령을 실행합니다 (Daemonize) nohup java -jar $ path_to_jar & gt; /tmp/service_name.log 2 & gt; & amp; 1 & amp; # PID를 저장하여 프로세스를 추적하십시오 에코 $! & gt; $ pid_path_name echo "$ service_name 시작 ..." 또 다른 echo "$ service_name은 이미 실행 중입니다 ..." fi ;; 멈추다) # 서비스가 실행되는지 확인하기 위해 PID 파일이 있는지 확인하십시오. [-f $ pid_path_name]; 그 다음에 pid = $ (cat $ pid_path_name) echo "$ service_name 중지 ..." # 킬 프로세스 킬 $ pid echo "$ service_name 중지 ..." # PID 파일을 제거합니다 rm $ pid_path_name 또 다른 echo "$ service_name이 실행되지 않습니다 ..." fi ;; 다시 시작) # 서비스 중지 [-f $ pid_path_name]; 그 다음에 pid = $ (cat $ pid_path_name) echo "$ service_name 중지 ..." 킬 $ pid echo "$ service_name 중지 ..." rm $ pid_path_name 또 다른 echo "$ service_name이 실행되지 않습니다 ..." fi # 서비스 시작 echo "$ service_name 시작 ..." nohup java -jar $ path_to_jar & gt; /tmp/service_name.log 2 & gt; & amp; 1 & amp; 에코 $! & gt; $ pid_path_name echo "$ service_name 시작 ..." ;; esac
설치".sh"확장자 (예 : "myservice.sh")가있는 파일로 위의 스크립트를 저장합니다. (예를 들어, /etc/init.d 또는 /lib/systemd/systemd/system) .=&&&&&&ch&&&&ch&&&&&&ch실 서비스를 관리하기 위해 다음 명령을 사용하여 다음 명령을 사용합니다. myservice
stop : /etc/init.d/myservice stop 또는 systemctl myservice stop
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3