> Автостарт процеса в линухе.
 Lexus Member is Offline
 Posted: 04-10-2006, 00:16 (post 1, #659806)

Коллекционер
Group: Global Moders
Group: Global Moders
Posts: 10401
Имеется линукс Debian 3.1

есть скрипт, start.sh он запускает прожку(ET -server)
Стартует весь процес через скрин

типа так: "screen -A -m -d -S et /games/et/./etded"

Задача:
1. запихать в автозагрузку, т.е. при рестарте линукса скрипт должен стартовать автоматом.

2. при помирании процесса, он должен автоматом рестартоваться, причём так же через скрин.

PM Email Poster Users Website
Top Bottom
 jinrou Member is Offline
 Posted: 04-10-2006, 17:42 (post 2, #660045)

Pro Member

Group: Members
Posts: 575
Warn:0%-----
Lexus
Первое - это просто, положи свой скрипт в /etc/rcS.d и дай номер что нить вроде
S80мой_скрипт. Подробнее о нумерации написано в README в том же каталоге.

Второе - написать скрипт, который будет проверять наличие данного процесса и при его отсутствии запускать тот же /etc/rcS.d/S80мой_скрипт, после чего запихнуть его в crontab.
PM Email Poster
Top Bottom
 FiL Member is Offline
 Posted: 04-10-2006, 18:13 (post 3, #660064)

Сварливый Мозг Клуба
Group: Roots
Group: Roots
Posts: 22885
jinrou,
вообще я-бы советовал запуск вписать просто в /etc/rc.local
Более правильное место, как мне кажется.

А вот по поводу перезапуска... ну тут есть разные способы... на самом деле основной вопрос, которыей стоит - надо-ли запускать новый скрин? Скорее всего падать-то будет сервер, а скрин будет оставаться... Зачем плодить скрины?

PM Email Poster ICQ AOL MSN
Top Bottom
 Lexus Member is Offline
 Posted: 04-10-2006, 18:24 (post 4, #660078)

Коллекционер
Group: Global Moders
Group: Global Moders
Posts: 10401
QUOTE (FiL @ 04-10-2006, 17:13)
jinrou,
вообще я-бы советовал запуск вписать просто в /etc/rc.local
Более правильное место, как мне кажется.

А вот по поводу перезапуска... ну тут есть разные способы... на самом деле основной вопрос, которыей стоит - надо-ли запускать новый скрин? Скорее всего падать-то будет сервер, а скрин будет оставаться... Зачем плодить скрины?
Дело в том, что если в игре через админ консоль рестартуют сервак, то заходя через ssh обнаруживатся что срина нету, следовательно скрин убивается тоже.

т.е. задача: либо придумать перезапуск, либо придумать как сделать чтоб скрин не убивался и сервер рестартовал нормально.
PM Email Poster Users Website
Top Bottom
 jinrou Member is Offline
 Posted: 04-10-2006, 18:30 (post 5, #660082)

Pro Member

Group: Members
Posts: 575
Warn:0%-----
QUOTE (FiL @ 04-10-2006, 19:13)
jinrou,
вообще я-бы советовал запуск вписать просто в /etc/rc.local
Более правильное место, как мне кажется.

FiL
можно и в rc.local, только вот нету его в Debian.
QUOTE
0.6 Похоже, что Debian не использует для настройки процесса загрузки rc.local; как поддерживается эта функция?

Допустим, системе нужно выполнять сценарий foo при загрузке, или при переключении в какой-либо уровень запуска (System V). В этом случае действия системного администратора такие:

* Поместить сценарий foo в каталог /etc/init.d/.

* Запустить команду Debian update-rc.d с состветствующими аргументами, чтобы установить связи между каталогами rc?.d и /etc/init.d/foo. Здесь '?' - это число от 0 до 6, соответсвующее одному из уровней запуска System V.

* Перегрузить систему.

Команда update-rc.d установит связи между каталогами rc?.d и /etc/init.d. Имя каждой связи начинается с букв 'S' или 'K', далее числа и имени сценария. Сценарии, начинающиеся с 'S' в каталоге /etc/rcN.d/, выполняются при входе в уровень запуска N. Сценарии, начинающиеся с 'K', выполняются при выходе с уровня запуска N.

Например, можно выполнять сценарий foo при загрузке, поместив его в /etc/init.d/ и установив необходимые связи командой update-rc.d foo defaults 19. Аргумент 'defaults' относится к уровням запуска со 2 по 5. Аргумент '19' позволяет запускать сценарий foo до сценариев с номерами 20 и выше.
PM Email Poster
Top Bottom
 FiL Member is Offline
 Posted: 04-10-2006, 19:08 (post 6, #660103)

Сварливый Мозг Клуба
Group: Roots
Group: Roots
Posts: 22885
нда... недаром я не люблю Debian :)
Правда rcS.d судя по этому у него тоже нет (я вообще думал, что он только в слаквари есть). :)

Lexus,
а, ну тогда да, перезапускать вместе со скрином.
PM Email Poster ICQ AOL MSN
Top Bottom
 jinrou Member is Offline
 Posted: 04-10-2006, 19:20 (post 7, #660110)

Pro Member

Group: Members
Posts: 575
Warn:0%-----
rcS.d у него есть, зуб даю :D
CODE
kuruu@nk10-212:/$ cat /etc/debian_version 
testing/unstable
kuruu@nk10-212:/$ ls /etc/ | grep rcS.d
rcS.d
PM Email Poster
Top Bottom
Topic Options