Autor Wątek: Killall i odporny na niego process na Linuksie.  (Przeczytany 2019 razy)

Offline Antrykot

  • Użytkownik

# Styczeń 22, 2007, 23:58:44
Witam.
Mam takie małe pytanko dla naszych *nixowych userów.
Czasem podczas kodowania zdarzy mi sie zapętlić program, lub coś w tym stylu i wtedy nie da sie go wyłączyć poprzez killall, top'a ,Ctrl + C. Jedyna rzecz jaką mogę zrobić to wyłączyć terminal X'owy, co jest nie wygode, mo można też zabić coś innego przy okazji (zwykle uruchamiam tylko jednego Eterma).
Jest jakieś lepsze wyjście z takiej sytuacji ?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Goliatus

  • Użytkownik
    • Warsztat - tworzenie gier

# Styczeń 23, 2007, 00:07:54
kill -9 idprocesu

tak musi działać

Offline Antrykot

  • Użytkownik

# Styczeń 23, 2007, 00:10:46
Dzięki wielkie.

bies

  • Gość
# Styczeń 23, 2007, 00:10:51
Kill i killall wysyłają sygnały do procesu. Po prostu należy wysłać odpowiedni sygnał. Zamknięcie okna Eterma odpowiada sygnałowi HUP. Czyli `kill -s HUP $pid_procesu`, analogicznie killall. Zawsze możesz też `kill -9 $pid_procesu` - to skrót do sygnału KILL (bezwarunkowy stop). Jeśli proces nie jest aktualnie w wywołaniu systemowym lub, co gorsza, w uninterruptible sleep, powinien zareagować na KILL.

// edit
Aha, kill bez parametrów oznacza kill -s QUIT. Kill może być albo funkcją powłoki (man bash /kill) albo programem (man kill). Interfejs ma z grubsza ten sam (zazwyczaj jest funkcją powłoki).
« Ostatnia zmiana: Styczeń 23, 2007, 00:19:57 wysłana przez bies »