systemctl 시작/중지 서비스: Ubuntu, CentOS, Redhat Linux에서 Upstart 스크립트 및 Respawn 프로세스를 설정하는 방법
게시 됨: 2021-06-09systemd의 시작 스크립트를 작성하는 방법은 무엇입니까?
systemd
는 Ubuntu OS, Redhat OS, CentOS와 같은 모든 최신 Linux 배포판의 최신 service management utility
입니다.
이것이 Ubuntu 17.4 및 Redhat 7.4 버전이 이제 upstart 스크립트로 systemctl command
을 지원하는 이유입니다. 이전 버전의 Linux OS를 사용하는 경우 이전 init.d script
를 보려면 이 페이지 하단을 살펴봐야 할 수도 있습니다.
우리는 이 튜토리얼에서 아래 사항에 대해 논의할 것입니다
- 시스템 서비스 단위 설정
- 시스템을
configure
하는 방법? - 시스템화하는 방법
enable
무엇입니까? - systemd를 사용하여 프로세스를 자동으로 시작하는 방법은 무엇입니까?
- systemd를 사용하여 프로세스를 중지하고
respawn
하는 방법은 무엇입니까?
이 튜토리얼의 설정 단계:
Prerequisite:
/tmp/crunchify
폴더에 CrunchifyAlwaysRunningProgram.java 프로그램 버전을 컴파일했습니다. 이 Java 프로세스는 백그라운드에서 영원히 계속 실행됩니다. 여기에서 프로그램을 다운로드할 수 있습니다.
다운로드 한 다음 try to compile
하고 실행하여 작동하는지 확인하십시오.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
root @ crunchify : / tmp / crunchify # ls -ltr - rw - r -- r -- 1 root root 120 Oct 6 17 : 57 crunchify . tar . gz drwxr - xr - x 2 root root 4096 Oct 6 18 : 01 tomcat drwxr - xr - x 2 root root 4096 Oct 6 18 : 02 java - rw - r -- r -- 1 root root 621 Oct 7 16 : 06 package - rwxrwxrwx 1 root root 838 Oct 7 16 : 07 CrunchifyAlwaysRunningProgram . java - rwxrwxrwx 1 root root 1295 Oct 8 14 : 38 CrunchifyAlwaysRunningProgram . class root @ crunchify : / tmp / crunchify # javac CrunchifyAlwaysRunningProgram.java root @ crunchify : / tmp / crunchify # java CrunchifyAlwaysRunningProgram always running program == > Sun Oct 08 14 : 39 : 14 UTC 2017 always running program == > Sun Oct 08 14 : 39 : 16 UTC 2017 . . . . . . . . . |
CTRL + C
를 입력하여 프로그램을 종료할 수 있습니다.
이제 위의 프로그램에 대한 시스템 자동 시작 스크립트 설정을 시작하겠습니다.
1 단계
- /lib/systemd/system 폴더로 이동
-
cd /lib/systemd/system
입력
2 단계
- 파일
crunchify.service
생성(파일 이름을 적절하게 변경) - 그 안에 아래 내용을 넣어
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[ Unit ] Description = Crunchify Java Process Restart Upstart Script After = auditd . service systemd - user - sessions . service time - sync . target [ Service ] User = root TimeoutStartSec = 0 Type = simple KillMode = process export JAVA_HOME =/ opt / java / jdk - 9 export PATH = $ PATH : $ JAVA_HOME / bin WorkingDirectory =/ tmp / crunchify ExecStart =/ opt / java / jdk - 9 / bin / java - cp / tmp / crunchify CrunchifyAlwaysRunningProgram Restart = always RestartSec = 2 LimitNOFILE = 5555 [ Install ] WantedBy = multi - user . target |

3단계
- 파일을 저장
-
chmod 755 crunchify.service
를 사용하여 실행 권한 제공
4단계
-
systemctl daemon-reload
명령을 사용하여 crunchify.service 로드 -
systemctl enable crunchify.service
명령을 사용하여 crunchify.service 활성화 -
systemctl start crunchify
명령을 사용하여 crunchify.service를 시작합니다. -
systemctl status crunchify
명령을 사용하여 crunchify.service의 상태를 확인하십시오.
5단계
- 이제 프로세스가 실행 중인지 확인하십시오 ??
- 명령
ps -few | grep java
입력하십시오. 실행 중인 모든 Java 프로세스를 보려면ps -few | grep java
- 당신은 이것과 같은 것을보아야합니다
1 2 3 |
root @ crunchify : / lib / systemd / system # ps -few | grep java root 28631 1 0 14 : 02 ? 00 : 00 : 03 / opt / java / jdk - 9 / bin / java - cp / tmp / crunchify CrunchifyAlwaysRunningProgram root 28853 28226 0 14 : 46 pts / 0 00 : 00 : 00 grep java |
이는 프로세스 28631
이 upstart 스크립트를 사용하여 시작되고 있음을 의미합니다. 다른 프로세스 ID를 가질 수 있습니다.
systemd crunchify.service가 작동하는지 여부를 확인하는 방법은 무엇입니까?
-
kill -9 28631
을 사용하여 프로세스를 종료하려고 하면 새 프로세스가 자동으로 생성되어야 합니다. - 제 경우에는 새 프로세스 ID
28887
이 생성되었습니다.
1 2 3 4 |
root @ crunchify : / lib / systemd / system # kill -9 28631 root @ crunchify : / lib / systemd / system # ps -few | grep java root 28887 1 17 14 : 48 ? 00 : 00 : 00 / opt / java / jdk - 9 / bin / java - cp / tmp / crunchify CrunchifyAlwaysRunningProgram root 28900 28226 0 14 : 48 pts / 0 00 : 00 : 00 grep java |
비디오: Live systemd upstart 스크립트 설정 완료 예:
이 비디오에는 – CentOS, Redhat, Ubuntu Linux OS에서 시스템 시작/업스타트 스크립트를 설정하는 방법이 포함되어 있습니다.
- 시작 부팅 시 쉘 스크립트를 자동으로 실행하는 방법
- Linux에서 시스템 서비스를 만드는 방법(CentOS 7)
- Linux 서비스가 자동으로 시작되도록 구성하는 방법은 무엇입니까?
- Centos 7 시스템 시작 스크립트
- Ubuntu 시스템 시작 스크립트
systemd에 대해 더 알고 싶으십니까? 다음은 참조용 치트 시트입니다.
모든 유형의 Linux OS에서 everything about systemd command
배우기를 바랍니다.
중지: 이전 버전의 OS에만 해당
older version
의 Redhat, Ubuntu, CentOS를 실행 중인 경우 이 형식의 스크립트가 필요합니다.
-
/etc/init
로 이동 -
crunchify.conf
파일 생성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# Run Crunchify's Java program indefinitely # description "Crunchify Java Process Restart Upstart Script" author "Crunchify.com (App Shah)" start on runlevel [ 2345 ] stop on runlevel [ ! 2345 ] respawn respawn limit 10 5 script su - root < < 'EOF' export JAVA_HOME =/ opt / java / jdk - 9 export PATH = $ PATH : $ JAVA_HOME / bin exec / opt / java / jdk - 9 / bin / java - cp / tmp / crunchify CrunchifyAlwaysRunningProgram EOF end script |
service crunchify start
명령을 사용하여 서비스를 시작하십시오.- 위와 동일한 확인 단계를 따르십시오.
환경에서 upstart 스크립트를 실행하는 데 문제가 있으면 알려주십시오. 즐거운 하루 보내시고 즐거운 코딩하세요.