
시스템은 Debian Whezy x64입니다. 나는 현재 root가 아닌 사용자로 프로그램을 시작하기 위해 screen을 사용하고 있습니다. 다음과 같습니다. /etc/rc.local에서 다음을 호출합니다.
su -c "/home/user/scripts/startup" user
그런 다음 /home/user/scripts/startup에서 다음과 같은 몇 가지 Python 프로그램을 호출합니다.
screen -dmS my_program python /home/user/my_program.py
모두 잘 시작합니다. 문제는 이러한 프로그램이 매주 정도 스스로 업데이트되는 경향이 있다는 것입니다. 프로그램이 업데이트되면 자체적으로 다시 시작을 시도합니다. 프로그램을 다시 시작하면 screen 세션이 종료되고 프로그램이 다시 시작되지 않습니다. 그래서 며칠 후에 프로그램이 작동하지 않고 수동으로 다시 시작해야 한다는 것을 알게 되었습니다.
프로그램을 다시 시작한 후 프로그램이 자동으로 다시 시작되도록 할 수 있는 방법이 있습니까?
편집: 화면을 활성 상태로 유지할 수 있는 "좀비 모드"에 대한 내용을 읽었지만 부팅 시 호출하는 방법을 모르겠습니다.
감사해요
답변1
무한 루프로 실행되고 해당 프로그램이 실행되는 것을 감시하는 스크립트를 만듭니다.
#!/bin/bash
while true; do ps aux | grep -v grep | grep -q <program> || <start_program>; sleep 5; done
화면에서 스크립트를 시작합니다.