Skrypt od zawieszonych procesów

Potrzebujesz pomocy z C, C++, perl, python, itp.
timmy666
Posty: 18
Rejestracja: 18 marca 2008, 09:44

Skrypt od zawieszonych procesów

Post autor: timmy666 »

Witam.

Czy ktoś ma może lub może podpowiedzieć z czym pokombinować jak napisać skrypt,który zeskanuje procesy i zabije, te które się zawiesiły. Potrzebuje czegoś takiego do serwerów gier czasami zdarzy się, że serwer się zawiesi i proces wciąż jest odpalony bo działa w screenie i wykazuje w TOP około 105% CPU. Na tej zasadzie np mógłby on działać że wybierałby takie procesy z TOP, które mają ponad 100% użycia procesora i je ubijał. Bardzo prosiłbym o Pomoc.

Z góry dziękuję
szpuni
Beginner
Posty: 112
Rejestracja: 15 stycznia 2007, 15:25
Lokalizacja: dublin

Post autor: szpuni »

Zeby zabic proces zombie trzeba zabic proces macierzysty co sie wiaze z restartem serwera(w tym wypadku serwer gry)

Mozesz tez poprobowac uzyc:

Kod: Zaznacz cały

ps -lax|grep Z
Pozniej przeszukac procesy z

Kod: Zaznacz cały

<defunct>
I probowac je zabijac.

Skrypt do Crona i powinno cos pomoc.

Chociaz naprawde pownienes sprawdzic ten serwer gry i tam zaimplementowac funkcje zo zabijania Zombie.

W jakim jezyku napisany jest ten serwer?
timmy666
Posty: 18
Rejestracja: 18 marca 2008, 09:44

Post autor: timmy666 »

W tym problem, że jak serwer zawiesi się to nie jest procesem zombie.

W top mam 0 zombie więc to:

Kod: Zaznacz cały

ps -lax|grep Z
nie pomoże i nie pomaga, a raczej nie znajduje tego procesu ale dziękuję, może na przyszłość się przyda.
Hardiel
Posty: 84
Rejestracja: 22 lipca 2009, 17:21

Post autor: Hardiel »

Skrypt, który będzie to nadzorował sam w sobie będzie zużywał trochę CPU bo będzie ciągle wywołany po to żeby być wyczulonym na takim proces. Jeszcze zależy jak często będzie pobierał listę programu top i ją analizował. Samo wykonanie skryptu raczej nie powinno być problemem.
timmy666
Posty: 18
Rejestracja: 18 marca 2008, 09:44

Post autor: timmy666 »

Hardiel pisze:Skrypt, który będzie to nadzorował sam w sobie będzie zużywał trochę CPU bo będzie ciągle wywołany po to żeby być wyczulonym na takim proces. Jeszcze zależy jak często będzie pobierał listę programu top i ją analizował. Samo wykonanie skryptu raczej nie powinno być problemem.
No i właśnie jest chyba problem, że wiesz jak go napisać. Ja mam taki skrypt sklecony ale coś nie do końca chce działać:

Kod: Zaznacz cały

#!/bin/bash

dead="cs" # <- tu wstaw status martwego programu (z polecenia ps axu)

for ((]; then

  {

  if [ $dead == $result ]; then

   {
  echo "Program sie zwiesil, likwiduje proces";

  echo "Likwiduje porces o id $pid";

  kill -9 $pid

  sleep 2;
                                  }

          else

echo "Program prawdopodobnie dziala";

         fi;

                   }

      else

          {

    echo "Brak procesu";

                }

              fi;

    sleep 1;

          };

           done
Może ktoś poprawi.
ODPOWIEDZ