08 Linux Procesy


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 :
Are you a developer? Try out the HTML to PDF API
open in browser PRO version pdfcrowd.com
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
Are you a developer? Try out the HTML to PDF API
open in browser PRO version pdfcrowd.com
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
Wyłączenie terminala kontrolnego albo śmierć
SIGHUP 1 A
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
Are you a developer? Try out the HTML to PDF API
open in browser PRO version pdfcrowd.com
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 gniezdzie
Domyślna akcja to:
A Zakończenie procesu
Are you a developer? Try out the HTML to PDF API
open in browser PRO version pdfcrowd.com
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 .
Are you a developer? Try out the HTML to PDF API
open in browser PRO version pdfcrowd.com


Wyszukiwarka

Podobne podstrony:
Linux procesy
08 Linux Firewall
01 Linux Start systemu i związanie z nim procesy
08 PROCES NISZCZENIA NAUKI POLSKIEJ
systemy operacyjne cw linux strumienie procesy
Systemy Operacyjne Linux Komunikacja pomiędzy procesami (IPC)
Procesory tekstu linux
Manual de escaneo, procesamiento y OCR Ajedrez, Mi Pasión, 2012 08 01
TI 99 08 19 B M pl(1)
procesy
Wyświetlacz MMI z 6 kanałowym procesorem dźwięku (9VD)
ei 05 08 s029
Wyklad 2 PNOP 08 9 zaoczne

więcej podobnych podstron