Witam czy jest coś takiego jak na linuxach, gdy proces padnie system automatycznie go wznowi ?
Dziękuje za zainteresowanie, proszę o szybką odpowiedź. Pozdrawiam.
Dziękuje za zainteresowanie, proszę o szybką odpowiedź. Pozdrawiam.
Windows Serwer 2003 Skrypt który uruchomi program ponownie w przypadku jego crashu i braku odpowiedzi |
Witam czy jest coś takiego jak na linuxach, gdy proces padnie system automatycznie go wznowi ?
Dziękuje za zainteresowanie, proszę o szybką odpowiedź. Pozdrawiam.
Element ukryty. Rejestracja zajmie tylko minutę!
Linux Tip: Auto Reboot after Kernel Panic I thought I'd share this little known trick that I discovered while reading through parts of the linux kernel... Linux has the ability to automatically reboot after a kernel panic, it goes as follows Assuming you use lilo, edit the /etc/lilo.conf file under your current (and future) boot images, add the line: append="panic=15" Then reload lilo by running /sbin/lilo And next time you have a kernel panic (heaven forbid!) it should reboot after 15 seconds!
11.01.2009 17:24
Fajnie ale tamto jest na linuxa, chyba że ja czegoś nie doczytałem
można ewentualnie skryptem sprawdzać cyklicznie, czy konkretny proces działa, i w razie wykrycia jego braku, uruchomić go.
11.01.2009 23:06
Tak właśnie o to chodzi tylko jakim? Skrypt pewnie z basika tylko nie mogę go znaleźć a sam raczej nie napisze.
12.01.2009 12:09
Nie trzeba VB.
Kod: tasklist /fi "status ne running" /fi "imagename eq twojproces.exe" > %temp%\processtatus.txt Wrzuć to do harmonogramu by sie odpalało co np. 5 minut z prawami usera, który ma uruchamiac ten proces. Powinno działać.
12.01.2009 14:39
w ścieżce uruchom tak?
Cytat:Mam cały harmonogram, tworzę nowy wpis i nie wiem gdzie mam dopisać to:nie wiem czy dobry wpis dałem
12.01.2009 16:33
Zrobiłem byczka w kodzie... ma być:
Kod: tasklist /fi "status eq running" /fi "imagename eq twojproces.exe" > %temp%\processtatus.txt Wklejasz to do pliku skryptu, np. sprawdzanie_procesu.bat, wrzucasz go tam, gdzie użytkownik uruchamiający go z harmonogramu ma dostęp, uruchamiasz harmonogram by odpalał ten skrypt co 5 minut i po sprawie. Jezeli proces, który sprawdzasz, nie znajduje się w ścieżce PATH, musisz wpisać pełną ścieżkę do niego po komencie 'start' (I TYLKO TAM! Ściezki nie podaje się w poleceniu tasklist, a jedynie nazwię pliku procesu plus rozszerzenie). Edit.: Mozna skrócić skrypt do jednej komendy (bez uzywania pliku tymczasowego jako pośrednika): Kod: for /f "tokens=1* delims=:" %%i in ('tasklist /fi "status eq running" /fi "imagename eq twojproces.exe"') do @if %%i==INFORMACJA start twojproces.exe
12.01.2009 16:54
Nie chce uruchomić tego pliku wsadowego. Tzn uruchamia twój, ale twój nie uruchamia dalszego.
Twój kod: Cytat:tasklist /fi "status eq running" /fi "imagename eq twojproces.exe" > %temp%\processtatus.txt Ścieżka do mojego pliku: Cytat:E:\Counter-Strike\start.bat Twój kod z dodaniem ścieżki po start do mojego pliku: Cytat:tasklist /fi "status eq running" /fi "imagename eq start.bat" > %temp%\processtatus.txt Czy coś ominąłem ?
12.01.2009 16:58
Co to jest start.bat? Jakiś twój własny skrypt, który ma działać non-stop? Pliki skryptów nie sa procesami - nie możesz testować ich obecności w pamięci. Musisz się zdecydować na jakiś proces, który twój start.bat uruchamia.
12.01.2009 17:12
Wybacz ale mi to nie działa, nie uruchamia mi się ten drugi proces.
Mój plik start.bat zawiera parametry rozruchowe serwera, tak by był on odpalony w konsoli. Cytat:start /high E:/Counter-Strike/hlds.exe -console -game cstrike -console -master +map de_dust2 +maxplayers 16 +port 27016 +exec server.cfg
12.01.2009 22:38
W takim razie proste - sprawdzaj obecność procesu hlds.exe.
A jeszcze lepiej nie uruchamiaj swojego skryptu z mojego skryptu, tylko od razu serwer CSa wg Twojego skryptu. Czyli: Kod: for /f "tokens=1* delims=:" %%i in ('tasklist /fi "status eq running" /fi "imagename eq hlds.exe"') do @if %%i==INFORMACJA start /high E:/Counter-Strike/hlds.exe -console -game cstrike -console -master +map de_dust2 +maxplayers 16 +port 27016 +exec server.cfg Podejrzewam, że hlds.exe z parametrami musi byc uruchomiony z katalogu CSa, więc przed poleceniem 'for' daj polecenia Kod: e:
13.01.2009 00:13
Zrobiłem kolejny plik .bat lecz tak jak było to wcześniej uruchamiając go włączy się po czym wygasa, nie ma żadnej reakcji.
Może to troszkę inaczej powinno być? P.S dziękuje za wytrwałość.
13.01.2009 01:19
wpisz na koniec skryptu polecenie pause, uruchom i sprawdź gdzie i dlaczego się wysypuje.
Czy serwer CSa nie jest aby uruchomiony (proces hlds.exe)? Wtedy skryt zachowa się tak jak opisujesz, co jest jak najbardziej oczekiwaną reakcją.
13.01.2009 13:20
Nawet po dopisaniu pausy na końcu konsola znika. Coś musi być z tym skryptem nie tak podczas jego wykonywania konsola się zamyka samoistnie.
Sprawdź u siebie czy możesz nim uruchomić jakiś pliczek w harmonogramie. P.S Chyba, że ten kod działa tylko na systemie Win serv,; testuje aktualnie na Win XP.
13.01.2009 17:41
Cytat:P.S Chyba, że ten kod działa tylko na systemie Win serv,; testuje aktualnie na Win XP. Aaa, to trzeba było mówić od razu. Tasklist nie działa tak samo na W2k3 jak na XP, a dokładnie rzecz biorąc XPkowy tasklist jest zubożony o właśnie filtrowanie procesów (mimo że help wskazuje, że te funkcje sa zaimplementowane). Musisz robić testy na W2k3 lub przerzucić tasklist.exe z W2k3 na XP. Jeżeli masz mimo to problemy ze znikającym okienkiem, wykonaj polecenia ze skryptu w cmd, przy czym pamiętać trzeba, że polecenia 'for' ma trochę inna budowę gdy uruchamiamy go ręcznie, a inną, gdy ze skryptu. Chodzi o definicje zmiennych: definiuje się je jako %%i itd. gdy uruchamiamy ze skryptu, a %i, gdy ręcznie z cmd.
27.06.2018 11:28
Możesz także zmodyfikować plik start.bat
Kod: @echo off |
Użytkownicy przeglądający ten wątek: |
1 gości |