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