충돌하면 다시 시작되는 프로세스를 갖고 싶습니다. 나는 조금 구글 검색하고 쉬운 해결책은 daemontools 를 사용하는 것으로 나타났습니다 .
구성 방법을 이해하지 못했습니다.
- 그러한 기능을 완성하는 가장 쉬운 방법은 무엇입니까?
- 그것을 구성하는 방법?
충돌하면 다시 시작되는 프로세스를 갖고 싶습니다. 나는 조금 구글 검색하고 쉬운 해결책은 daemontools 를 사용하는 것으로 나타났습니다 .
구성 방법을 이해하지 못했습니다.
답변:
Ubuntu에서 Upstart로 이미 제공 한 기능을 찾고있는 것 같습니다 . respawn
구성 의 스탠자는 필요한 것을 정확하게 수행합니다. 나는 이것을 다루는 덜 표준적인 방법을 사용하지 않는 것이 좋습니다.
관리하려는 프로세스에 대한 자세한 내용이 없으면 구성의 모양을 말하기가 어렵습니다. 예를 들어 포크와 배경에 있는지 여부에 따라 다릅니다. 스탠자 의 Upstart 문서는respawn
자세한 정보를 제공해야합니다.
불행히도 아직 사용자 작업을 올바르게 실행할 수는 없습니다 : 사용자 작업을 시작하기 위해 시작할 수 없습니다
불로 죽었을 때에도 계산기 앱을 계속 실행한다고 가정합니다 (신호 9).
이 기사를/etc/init/calculator.conf
기반으로 구성 파일을 작성하십시오 .
#!upstart
description "Calculator"
# Start job via the daemon control script. Replace "gert" with your username.
exec su -l gert -c 'export DISPLAY=:0; /usr/bin/gnome-calculator'
# Restart the process if it dies with a signal
# or exit code not given by the 'normal exit' stanza.
respawn
# Give up if restart occurs 10 times in 90 seconds.
respawn limit 10 90
실행하여 시작
sudo start calculator
현재 디스플레이에서 열리고 ( :0
) 닫은 후 다시 시작되는 것을 보면서 멋지게 즐길 수 있습니다.
예를 들어 다음을 수행하여 프로세스 ID를 식별하십시오 ps aux | grep calculator
.
gert 13695 0.2 0.4 349744 16460 ? Sl 13:38 0:00 /usr/bin/gnome-calculator
불로 그것을 죽이다.
sudo kill -9 13695
다시 나타나는 것을보십시오 :
gert 16059 4.6 0.4 349736 16448 ? Sl 13:40 0:00 /usr/bin/gnome-calculator
적절한 사용자 작업을 지원하는 Ubuntu 13.04 계획에 더 적합합니다.
servicename.conf
시작 명령과 일치해야합니다 start servicename
. 다른 이름을 선택했다고 생각합니다.
구성 없이도 동일한 효과를 얻을 수있는 매우 간단한 도구는 immortal
다음과 같습니다. https://immortal.run/
다음과 같이 명령을 실행하십시오.
immortal <cmd>
백그라운드에서 실행되고 종료되면 자동으로 다시 시작됩니다.
immortalctl
: 실행중인 작업의 상태를 봅니다. 가 name
여기에 인쇄됩니다 열, 당신은 다른 제어 명령을 사용하여 작업을 참조하려면이 옵션을 사용할 수 있습니다.immortalctl stop <name>
: 주어진 이름으로 작업 모니터링을 중지합니다 (자동으로 다시 시작되지는 않지만 현재 프로세스는 계속 실행 됨).immortalctl -k <name>
: SIGKILL을 현재 프로세스로 보냅니다.immortalctl exit <name>
: 주어진 이름으로 작업 모니터링을 중지하고 작업 목록에서 제거합니다.stdout
와 stderr
전경 에 표시하는 방법이 있습니까?
immortalctl -l out.log <cmd> && tail -f out.log
동일한 효과를 얻기 위해 사용할 수 있습니다 .
"업 스타트"가없는 방법이 있습니다. 키워드는 "inittab":-)입니다. 파일은 일반적으로 기본값에서 변경되지 않았지만 SYSV 머신에서 원하는 부활을 달성하는 데 사용될 수 있습니다.
ps-watcher는 실행중인 프로세스를 감시하고 정의 된 환경에서 작업을 실행하는 도구입니다. 설치하자 :
apt-get install ps-watcher
자세한 내용은 PHP-FPM으로 폴백하여 HHVM 실행 의 맨 아래를 참조하십시오 .
Ubuntu 15.04 이후로 "systemd"로 시작 및 리스폰 프로세스를 관리합니다. 여기서 좋은 소개를 찾을 수 있습니다.
시작하는 예는
https://www.devdungeon.com/content/creating-systemd-service-files
이 방법은 / etc / inittab 및 upstart를 기반으로하는 이전 방법을 대체합니다.