Linux: 데몬 작업
Linux에서 데몬으로 작업하는 것은 새로운 사용자에게 까다로울 수 있습니다. 역사적인 짐과 이전 버전과의 호환성으로 인해 동일한 작업을 수행할 수 있는 여러 가지 방법이 있습니다.
먼저 약간의 배경 지식: 부트 로더가 커널을 로드하고 모든 것이 초기화된 후 마지막 단계는
init
프로세스를 시작하는 것입니다. 이 프로세스는 루트 프로세스라고도 하며 PID 1(PID 0은 커널의 일부 - 소위 sched
또는 swapper
프로세스)을 가집니다.체계적인
요즘에는 PID 1로 실행 중인
systemd
Linux 배포판을 사용하고 있을 가능성이 높습니다.systemd에서 서비스를 제어하려면 주로
systemctl
명령을 사용합니다.서비스 상태 확인:
systemctl status myservice.service
서비스 시작 및 중지:
systemctl start myservice.service
systemctl stop myservice.service
systemctl restart myservice.service
서비스 활성화 및 비활성화(부팅할 때마다):
systemctl enable myservice.service
systemctl disable myservice.service
새로운 서비스 추가
새 서비스를 추가하려면 유닛 파일을/etc/systemd/system/디렉토리에 넣기만 하면 됩니다.
최소한의/etc/systemd/system/myservice.service는 다음과 같을 수 있습니다.
[Unit]
Description=My Awesome Service
[Service]
# Simple service won't do any forking
Type=simple
ExecStart=/path/to/command
[Install]
# Start the service before we get to multi-user mode
WantedBy=multi-user.target
이제 "daemon-reload"를 수행하면 됩니다(systemd에 새 파일을 선택하도록 지시).
systemctl daemon-reload
서비스를 활성화하고 시작합니다.
systemctl enable myservice.service
systemctl start myservice.service
systemctl status myservice.service
SysVInit
systemd
는 비교적 최근에 Linux에 추가된 것입니다. 전통적으로 Linux 시스템은 SysVInit를 초기화 하위 시스템으로 사용했습니다. systemd
보다 훨씬 간단하고(원래 Unix 철학에 더 가깝습니다) 이 전체 전환 작업은 Linux 커뮤니티에 많은 논란을 불러일으켰습니다. SysVInit를 사용하는 활발하게 유지되는 배포판이 있습니다.또한 이러한 명령을 사용하는 많은 소프트웨어와 문서가 여전히 있습니다.
SysVInit 아래의 "서비스"는 시작, 중지, 다시 시작 등과 같은 인수에 응답하는/etc/init.d/디렉토리 내의 스크립트일 뿐입니다.
이것은 서비스를 시작하고 중지하는 원래 SysVInit입니다.
/etc/init.d/myservice start
/etc/init.d/myservice stop
/etc/init.d/myservice restart
나중에
service
명령이 추가되었습니다(대부분 위와 동일하지만 항상 그런 것은 아님).service myservice start
service myservice stop
service myservice restart
(이 명령은 이전 버전과 호환됩니다. 시스템 기반 시스템에서
systemctl
를 사용하는 것과 동일하게 작동해야 합니다.)기본 런레벨에 서비스 추가(부팅할 때마다 활성화):
# Debian-based distros
update-rc.d myservice defaults
# Redhat-based distros
chkconfig myservice on
건방진 녀석
Upstart는 Canonical에서 만든 SysVInit에 대한 이벤트 기반 교체였지만 현재는 더 이상 사용되지 않습니다.
여전히 사용 중인 시스템에 어떻게든 실행하는 경우 SysVInit에 대해 위에서 언급한 것과 동일한 명령을 대부분 사용할 수 있습니다.
참고: 이것은 단순성 이해 위키의 (WIP) 주제에 대한 스냅샷입니다. 모든 제안(및 반응)을 환영합니다. 여기에서 최신 버전을 찾을 수 있습니다: Linux: Working With Daemons
Reference
이 문제에 관하여(Linux: 데몬 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/devsimplicity/linux-working-with-daemons-59e0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)