Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: plik .exe auto restart
Forum PHP.pl > Forum > PHP
Robert007
Witam,

Chciałbym zrobić auto restart pliku .exe. Polegało by na tym aby dany skrypt sprawdzał czy plik .exe jest otwarty a jeżeli nie to go uruchamiał na nowo.
Jak takie coś zrobić by sprawdzić że nie jest otwarty?

http://pl2.php.net/manual/pl/function.exec.php
webdice
tasklist, taskklill może to Cie nakieruje.
Robert007
w manualu tego nie ma - przynajmniej piszę że nie ma więc trudno coś z tego wywnioskować
piotrooo89
a google to gryzie?!
darko
Mam nadzieję, że nie pomagam w tworzeniu jakiegoś trojana winksmiley.jpg

na linuksie możesz np. tak:

  1. $fileout = "test.txt"; // tymczasowy plik wyjściowy
  2. $findit = "hald"; // szukana nazwa procesu
  3. system("ps -ef | grep $findit > $fileout");
  4. $data = file_get_contents($fileout);
  5. if($data) {
  6. if(preg_match("/$findit/",$data) != 0) {
  7. echo "proces w tle";
  8. }
  9. else {
  10. echo "nie znalazlem procesu";
  11. // tu sobie uruchom proces jaki chcesz
  12. }
  13. }
  14. else {
  15. echo("nie znalazlem procesu (nie moge otworzyc pliku $fileout)");
  16. // tu sobie uruchom proces jaki chcesz
  17. }
  18.  
  19. echo "<pre>".$data."</pre>";
  20. // sprzątamy po sobie
  21. system("rm $fileout");



na windowsie spróbuj rzeczywiście z tasklist ale nie mam pewności czy nie jest to opcjonalne narzędzie

http://www.tricks.com.pl/menadzer-zadan-windows-xp/
http://www.microsoft.com/resources/documen...t.mspx?mfr=true
Fifi209
Kolego napisz więcej konkretów, odpowiedzi jakie dostałeś dotyczą komend, które masz w systemie.
Robert007
no chciałem na linuksie.

a tam gdzie piszę że mam otworzyć jakieś proces to dać samo to?:
  1. exec("folder/server.exe");


potrzebne mi to do uruchamiania servara na linuksie
Fifi209
Hmm, a masz tam możliwość uruchomienia .exe? Jakiś wine ?
Robert007
chciałbym to uruchomić na serverze (dedyk) tam jest to co potrzeba
darko
jw., nie wnikam do czego jest Ci to potrzebne, generalnie odpalanie plików wykonywalnych zależy od wielu ustawień (serwera, php, uprawnień). Jeżeli chcesz napisać na własny użytek taki skrypcik i odpalać sobie na localhost to nie ma problemu, sprawdź tylko czy konfiguracja ustawień na to pozwala i poczytaj na ten temat. Poza tym możesz napisać jeden skrypt w którym 1. sprawdzisz jaki system operacyjny (
  1. if(preg_match("/linux/", $_SERVER['HTTP_USER_AGENT']) { $os_linux=true;} else { $os_linux=false; }
), 2. sprawdzisz czy proces jest uruchomiony (to już Ci podałem dodaj tylko obsługę windy) 3. jeżeli nie jest to użyj właściwych komend do odpalenia czekogolwiek Ci potrzeba.

ps. gotowców nie podaję na talerzu
ps2. tam, gdzie napisałem w komentarzu (// tu sobie uruchom proces jaki chcesz) wywołaj polecenie systemowe dla właściwego systemu operacyjnego
Robert007

Cytat
if(preg_match("/linux/", $_SERVER['HTTP_USER_AGENT']) { $os_linux=true;} else { $os_linux=false; }


Po co to jak to sprawdza osobę która przegląda dany skrypt?
Administracja mówiła że to linuks bo nawet server dla gry SAMP jest pod linuks i działa.

Aczkolwiek potrzebuje system uruchamiania servera poprzez skrypt php a także ponowne uruchamianie po zamknięciu servera dla gry.


Fifi209
Strzelam, że jest to jakiś serwer tibii/cs'a/sa:mp'a, postaraj się o coś co będzie chodziło na linuxie.
(osobiście wątpię, że na dedyku z linuxem możesz odpalać .exe [szczególnie, że nic Ci nie działa])
Robert007
Pomoże mi ktoś zrobić uruchamianie i wyłączanie pliku .exe na linuksie?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.