최근 Linux 배포판에서는 systemd가 기존 /etc/init.d 스크립트를 대체했습니다. 사용자 서비스를 지원할 수 있습니다.
systemctl --user start my.service
init 스크립트를 사용하여 비슷한 작업을 수행할 수 있는지 궁금합니다. 즉, 시스템이 시작될 때 일반 사용자가 서비스를 실행하도록 합니다.
답변1
모든 initscript는 모든 사용자로서 모든 명령을 실행할 수 있습니다 su $user -c "/home/$user/onboot.sh"
. 이렇게 하면 부팅 시에만 사용자 스크립트가 시작되며 원하는 것은 무엇이든 실행할 수 있습니다. 사용자에게 시스템 사용자 서비스와 같은 기능을 제공하고 싶다면 Supervisord를 제공하고 부팅 시 자동으로 시작하도록 initscript를 작성합니다. 물론 스스로 비슷한 작업을 수행할 수도 있습니다. 매분 실행되는 cronjob을 생성한 다음 아직 실행 중이 아닌 경우 감독자를 시작할 수도 있습니다. 초기화 스크립트가 없어도 동일하게 작동합니다.