
관용적인 방법은 무엇입니까? 나는 추가 종속성이 적은 가장 표준적이면서도 간단한 방법을 선호합니다. Linux의 systemd에 대한 대안과 같은 것입니다.
답변1
다음에 추가하여 설치된 프로세스를 자동으로 다시 시작할 수 있습니다./etc/rc.conf
yourprocess_enable="YES"
하지만 그것은 시작 스크립트가 있다고 가정합니다./usr/local/etc/rc.d/
답변2
프로세스에 대한 rc.d 스크립트가 아직 없는 경우 다음을 사용하여 원하는 결과를 상당히 쉽게 얻을 수 있습니다.데몬(8)명령. 이 명령은 백그라운드에서 하위 프로세스를 실행하며, 명령줄 옵션을 사용하면 -r
하위 프로세스가 종료된 경우 해당 프로세스를 다시 시작하도록 할 수 있습니다.
$ daemon -r /some/path/to/command
이후 버전의 FreeBSD에서는 -R <delay in seconds>
프로세스를 다시 시작하기 전에 대기할 시간을 지정하도록 지정할 수 있습니다.
재부팅 후 프로세스를 시작하려면 다음 명령을 지정하십시오.크론탭(5)다음과 같은 파일:
@reboot daemon -r /some/path/to/command
crontab 파일을 편집하려면 다음을 사용하십시오.
$ crontab -e
답변3
언급한 대로 <service>_enable=YES
in /etc/rc.conf
(또는 관련 rc.conf.d
파일)은 부팅 시 서비스를 시작합니다.
충돌 시 다시 시작하는 경우 표준적인 방법은 다음과 같습니다.데몬툴즈.
답변4
예를 들어 2분마다 cron에 스크립트를 추가할 수 있습니다.
#!/bin/sh
process = 'my-secret-service' # process name
if ps ax | grep -v grep | grep $process
then
echo "$process is alive."
else
echo "$process is dead, but will be launched."
/usr/local/bin/my-secret-service #launch command
fi