Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kill -9 jako skrypt w linuksie
Forum PHP.pl > Inne > Komputery i oprogramowanie
matisq
Kod
#!/bin/sh
if [ -z ${1} ]
then
  echo ""
  echo "      Usage: ${0} [PROCESS NAME]"
  echo ""
else
  echo ""
  ps -e | grep -e "[ ][0-9][0-9]:[0-9][0-9]:[0-9][0-9][ ]${1}$" | while read pid pty timme name
  do kill -3 $pid > /dev/null 2>&1;
    if [ $? -eq 0 ]
    then
      echo "      Process <${1}> (PID: $pid) has been terminated."
    else
      kill -9 $pid > /dev/null 2>&1
      if [ $? -eq 0 ]
      then
        echo "      Process <${1}> (PID: $pid) has been terminated."
      else
        echo "      You don't have a permission to terminate process <${1}> (PID: $pid)."
      fi
    fi
  done  
  ps -e | grep -e "[ ][0-9][0-9]:[0-9][0-9]:[0-9][0-9][ ]${1}$" | read pid_e pty_e timme_e name_e
  if [ $? -eq 1 ]
  then
    echo "      Process <${1}> doesn't exists!"
  fi
  echo ""
fi


Mam taki oto kod. Działa sprawnie na kilku komputerach i jako zwykły user i jako su. Mam jednak taki problem, że nie działa on zawsze. Na niektórych komputerach uruchamiam skrypt, wypisuje mi że ubił proces a jednak go nie ubija. Dodam że Program który ubijam ma kilka PID'ów. Wiec jak zrobię ps i sobie wyświetlę liste procesów i wywołam kill -9 PID1 PID2 PID3 PID4 (kilka pidów dla tej samej aplikacji), to działa sprawnie. Może problem jest w tym że nie ubija tych procesów jednocześnie? Sam już nie wiem. Tyle że na zwykłym systemie ubija tę aplikacje z kilkoma pidami, a na systemach produkcyjnych nie. Coś w linuksie?
strife
Przenoszę na Komputery i Oprogramowanie.
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.