IP-MASQUERADE INDEX STRONA GŁÓWNA
PROCESY

 

Każda uruchomiona aplikacja tworzy w systemie odrębny proces, który zarządza pamięcią, procesorem i zasobami wejścia i wyjścia, tak aby możliwe było wykonanie tej aplikacji.
System Linuks daje złudzenie równoczesnego wykonywania wielu zadań. W rzeczywistości jeden procesor może obsłużyć tylko jeden proces. Złudzenie takie jest osiągane dzięki podziałowi czasu, co oznacza, że system operacyjny przełącza wykonywanie poszczególnych procesów w określonych, bardzo krótkich odstępach czasu.

Do wyświetlania listy procesów pracujących w systemie służy polecenie ps.
Aby wyświetlić listę wszystkich bieżących procesów należy użyć parametru -A :

ps -A

Do wyświetlenia wszystkich procesów uruchomionych w systemie służą parametry -aux :

ps -aux

Na ekranie system w postaci kolumn wyświetli informacje o wszystkich procesach.

Objaśnienie poszczególnych kolumn jest następujące :

wartość

znaczenie

USER Identyfikator użytkownika będącego właścicielem procesu
PID Identyfikator procesu
%CPU Procentowe zużycie czasu procesora przez proces
%MEM Procentowe zużycie pamięci przez proces
VSZ Rzeczywisty rozmiar procesu, w kilobajtach
RSS Ilość fizycznej pamięci używanej przez proces
TTY Terminal związany z procesem
STAT Status procesu; oto niektóre z możliwych wartości:

R - działający (Runnable)
D - oczekujący na dostęp do dysku (Disk wait)
I - nieaktywny przez mniej niż 20 sekund
S - nieaktywny przez więcej niż 20 sekund
T - wstrzymany
Z - Zombie, czyli proces porzucony, który powinien zostać zamknięty przez inny proces
W - proces przeniesiony czasowo do pliku wymiany
N - wartość parametru Nice, oznaczającego priorytet procesu

START Czas uruchomienia procesu
TIME Zużyty czas procesora
COMMAND Polecenie (wraz z parametrami), które spowodowało uruchomienie procesu

 

Każdy proces w systemie Linuks może zostać zabity (zamknięty). Jako zwykły użytkownik możesz zabić tylko te procesy, które są twoja własnością. Wyjątkiem jest super-użytkownik, który może zabić dowolny proces.
Do zamykania procesów służy polecenie kill lub killall :

kill 123
zabije proces o numerze PID 123

killall -v mozilla
zabije procesy o nazwie mozilla

Do zabijania procesów pod X Window służy polecenie xkill , wydawane w oknie X-terminala.
Po wydaniu tego polecenia kursor myszy zmienia swój kształt i wówczas można przemieścić go nad okno programu, który chcemy zabić i nacisnąć lewy przycisk myszy.
Wykorzystując polecenie kill możemy do danego procesu wysłać jeden z możliwych sygnałów.
Polecenie kill 123 jest równoważne z poleceniem kill -s SIGKILL 123.

 

Możliwe sygnały to :

NAZWA

NUMER

AKCJA

KOMENTARZ

SIGHUP 1 A Wyłączenie terminala kontrolnego albo śmierć procesu kontrolującego
SIGINT 2 A Przerwanie z klawiatury (CTRL+C)
SIGQUIT 3 C Wyjście z klawiatury
SIGILL 4 C Niepoprawna instrukcja
SIGTRAP 5 C Pułapka śledzenia procesu
SIGABRT 6 C Sygnał zakończenia z funkcji abort
SIGBUS 7 C Błąd magistrali (zły dostęp do pamięci)
SIGFPE 8 C Błąd zmiennoprzecinkowy
SIGKILL 9 C Sygnał natychmiastowego zabicia procesu
SIGUSR1 10 AEF Sygnał użytkownika 1
SIGSEGV 11 A Niewłaściwe wskazanie do pamięci
SIGUSR2 12 C Sygnał użytkownika 2
SIGPIPE 13 A Zerwany potok
SIGALRM 14 A Sygnał alarmowy z funkcji alarm
SIGTERM 15 A Sygnał przerwania działania procesu
SIGSTKFLT 16 A Błąd stosu w koprocesorze
SIGCHLD 17 A Proces potomny zatrzymany lub wyłączony
SIGCONT 18 B Kontynuacja przy zatrzymaniu
SIGSTOP 19 DEF Zatrzymanie procesu
SIGTSTP 20 D Stop wpisany na terminalu
SIGTTIN 21 D Proces w tle potrzebuje wejścia z terminala
SIGTTOU 22 D Proces w tle wyprowadza dane na terminal
SIGURG 23 23 B Ważne zdarzenie w gnieździe

 

Domyślna akcja to:

A  Zakończenie procesu
B  Ignorowanie sygnału
C  Zakończenie procesu i zrzucenie rdzenia
D  Przerwanie procesu
F  Sygnał nie może być złapany
F  Sygnał nie może być ignorowany

Niektóre działania związane z procesami możemy wywołać korzystając ze skrótów klawiszowych.
I tak na przykład zatrzymanie bieżącego procesu możemy dokonać kombinacją klawiszy : [Ctrl]+[z], natomiast przerwanie bieżącego procesu kombinacją :[Ctrl]+[c].

Zabicie procesu taką kombinacją klawiszy spowoduje nieuchronne zakończenie działania programu i utratę wszelkich nie zapisanych danych związanych z tym programem.

Częstym objawem zawieszenia programu lub zabicia jego procesu jest utworzenie pliku core w bieżącym katalogu. Pliki core to obrazy pamięci tworzone z myślą o debagerach.
Pliki core mają czasami duże rozmiary, dlatego jeśli nie zajmujemy się ich analizą, dobrym rozwiązaniem jest usunięcie ich z systemu i zablokowanie możliwości ich tworzenia poleceniem :

ulimit -c 0

Jeśli jednak chciałbyś dowiedzieć się z jakiego powodu dany program padł, skorzystaj z polecenia :

gdb -c core

które uruchomi debugger analizujący pliki core .

GRUPA MEDIA INFORMACYJNE & ADAM NAWARA