Wy

Konfiguracja serwerów, usług, itp.
arctix
Posty: 7
Rejestracja: 30 grudnia 2008, 02:29

Wyłączanie się aplikacji z autostartu

Post autor: arctix »

Wita. Mój problem polega na tym, że mam serwer do gry, któremu zdarza się samoistnie wyłączyć. Głównym problemem jest to, że poza dodaniem go do autostartu nie jestem w stanie wiele zrobić. Czy jest możliwość, aby serwer mógł się ponownie włączyć przez

Kod: Zaznacz cały

/etc/init.d/serwer start
lub aby cały komputer został uruchomiony ponownie w razie zawieszenia? Będę wdzięczny za wszelką pomoc w tej kwestii.
Pozdrawiam, arctix
sigo
Junior Member
Posty: 501
Rejestracja: 21 marca 2009, 19:12

Post autor: sigo »

Wykorzystaj skrypt (w bashu; sprawdzający czy serwer jest uruchomiony) oraz crontab.
Jakieś 2-4 dni temu był omawiany identyczny problem na forum, możesz poszukać, jeżeli nie dasz rady sam napisać kilku linijek.
ponton
Beginner
Posty: 406
Rejestracja: 24 stycznia 2007, 01:40
Lokalizacja: Kalisz/Wroc³aw

Post autor: ponton »

Dlaczego nie jestes w stanie nic zrobić? Skoro dodałeś go do autostartu, to znasz komendę, która go uruchamia. Uruchom więc serwer ponownie.

Ew. spróbuj polecenie:

Kod: Zaznacz cały

while true; do uruchom-serwer; done
arctix
Posty: 7
Rejestracja: 30 grudnia 2008, 02:29

Post autor: arctix »

Fakt, mogl mnie ktos nie zrozumiec. Nie chodzilo mi o to, ze po zawieszeniu programu nie moge/nie umiem go odpalic. Mialem na mysli samoczynne ponowne uruchomienie, lub restart maszyny. Znalazlem ten temat, o ktorym wspomnial sigo.

Kod: Zaznacz cały

#!/bin/sh 

screen -A -m -d -S `mono /home/aplikacje/a.exe` 

while [ 1 ] 
 do 
   if [ ! `pidof -x screen -A -m -d -S \`mono /home/aplikacje/a.exe\`` ] 
    then 
       screen -A -m -d -S `mono /home/aplikacje/a.exe` 
   fi 
  sleep 120 
done;
Teraz wystarczy, ze zamienie ponizszy fragment:

Kod: Zaznacz cały

screen -A -m -d -S `mono /home/aplikacje/a.exe`
na

Kod: Zaznacz cały

cd /home/user/folder/ && ./server
Z kodu wywnioskowalem, ze skrypt powoduje tylko ponowne uruchomienie i nie gryzie sie z faktem, ze program jest rowniez w autostarcie.
Ister
Junior Member
Posty: 566
Rejestracja: 05 marca 2009, 12:42

Post autor: Ister »

Uruchamiasz ten skrypt w autostarcie ZAMIAST samego programu. Skrypt odpowiada za to, żeby odpalić nową kopię programy gdy tylko stara padnie.
ODPOWIEDZ