
Linux 설치가 부팅될 때 루트로 백그라운드 프로세스를 시작하고 싶습니다. 디렉터리나 구성 파일에 추가할 수 있나요?
답변1
기본적으로 두 가지 옵션이 있습니다.
cron
시간 지정 작업 사용@reboot
(crontab(1)
자세한 내용은 맨페이지 참조)init 시스템으로 시작하십시오. BSD/SysV 초기화 스타일의 경우 이는 원하는 실행 수준에서 실행될 스크립트를 어딘가에 추가하는 것을 의미합니다. systemd의 경우 여기에는 단위 파일을 생성하고 원하는 대상에서 이를 요구하는 작업이 포함됩니다.
첫 번째 솔루션은 하나 또는 두 개의 머신에 로컬인 경우에 더 좋습니다(구성에 더 가깝기 때문입니다). 두 번째는 더 많은 시스템에서 실행될 가능성이 있는 서비스/데몬에 적합하며 실제로 유지 관리를 더 쉽게 하기 위해 패키지되어야 합니다.
답변2
부팅 시 루트로 프로세스를 실행하는 가장 쉬운 방법은 /etc/rc.local
. 해당 파일을 편집하고 다음과 같은 줄을 추가하십시오.
/path/to/my/daemon &
그러나 이는 데몬을 시작하는 아주 좋은 방법은 아닙니다. 이를 제어할 수 있는 편리한 방법이 없습니다(실행 중인지 확인, 중지, 다시 시작 등).
데몬을 제어하는 프레임워크는 여러 가지가 있습니다. 이들은 초기화 시스템에 연결되어 있습니다. Sysvinit, Upstart, Systemd는 각각 고유한 방식을 가지고 있습니다. 시스템에 무엇이 설치되어 있는지 확인하십시오(Unix 변형에 따라 다르며 Linux의 경우 배포 및 관리자 선택에 따라 다릅니다).