W Linuksie każdemu programowi, który został uruchomiony, przyporządkowany jest jeden lub więcej procesów. W systemie tym każdy z procesów jest rozróżniany poprzez PID, będącym jego liczbowym identyfikatorem.
1. Przeglądanie procesów.
ps [opcja]
Standardowym poleceniem pokazującym pracujące procesy uruchamiane przez użytkownika, jest polecenie:
$ ps
Wynik działania:
PID | TTY | TIME | CMD |
5052 | pts/0 | 00:00:01 | bash |
5589 | pts/0 | 00:00:00 | ps |
Aby wyświetlić własne procesy należy użyć polecenia:
$ ps -ux
Aby wyświetlić procesy użytkownika xxx, użyj:
$ ps -U xxx
Jeżeli chcesz wypisać wszystkie egzemplarze danego programu, wpisz:
$ ps -C program
Jeżeli chcesz zobaczyć procesy z pełną informacją o wierszu polecenia, wpisz:
$ ps -efww
Polecenie ps ma tak wiele opcji, że nie sposób ich wszystkich wymienić . Po więcej informacji zajrzyj do manuala.
w [nazwa użytkownika]
Do wyświetlania procesów każdej powłoki użytkownika służy polecenie:
$ w
Wynik działania:
02:31:17 up 1:16, 2 users, load average: 0,00, 0,00, 0,00
USER | TTY | FROM | LOGIN@ | IDLE | JCPU | PCPU | WHAT |
user | tty7 | :0 | 01:15 | 1:16 | 40.48s | 0.44s | x-session-manage |
user | pts/0 | :0.0 | 01:18 | 0.0s | 0.28s | 0.02s | w |
W górnym wierszu podawane są informacje o aktualnym czasie, czasie pracy systemu, liczny zalogowanych użytkowników, średnie obciążenie systemu z ostatnich: 1, 5 i 15 minut. Informację tą można także uzyskać za pomocą polecenia
uptime.
W poszczególnych kolumnach można uzyskać informacje o terminalu użytkownika, komputerze lub wyświetlaczu X logowania użytkownika, momencie samego logowania, czasie bezczynności, miarach użycia procesora, o aktualnym procesie .
Opcja:
-h nie wypisze pierwszego wiersza nagłówkowego
-f nie wypisze kolumny FROM
-s nie wypisze kolumn użycia procesora
top [opcje]
Do interaktywnego monitorowania procesów, które zajmują największą liczbę zasobów, służy polecenie:
$ top
Wynik działania:
0top - 03:16:06 up 2.01, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 97 total, 2 runnink, 95 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 1293416k total, 537564k used, 755852k free, 65704k buffers
Swap: 1951856k total, 0k used, 1951856k free, 301052k cached
PID | USER | PR | NI | VIRT | RES | SHR | S | %CPU | %MEM | TIME+ | COMMAND |
5755 | user | 20 | 0 | 2416 | 3160 | 884 | R | 0.7 | 0.1 | 0:08:48 | gnome-terminal |
Program ten na bieżąco odświeża zawartość ekranu, aktualnymi danymi.
Prędkość odświeżania możemy zmieniać klawiszem
s (podajemy nowy interwał czasu). Możemy także ukrywać procesy bezczynne, klawisz
i lub zabijać procesy, klawiszem
k. Aby wyświetlić wszystkie możliwe opcje, użyj klawisza
h. Aby wyjść naciśnij
q.
2. Kontrola procesów.
Zabijanie procesów.
kill [opcje]
Do wysyłania sygnałów do powłoki służy polecenie kill. Dzięki niemu można przerwać działanie procesu, zakończyć jego działanie, przerwać go, uśpić. Manipulować procesami mogą jego właściciel oraz superużytkownik. Zabicie procesu o danym numerze PID wygląda następująco:
$ kill 12345
Jeżeli polecenie nie zadziała, gdyż proces przechwytując sygnał, nie przetworzy go, wpisz:
$ kill -KILL 12345
Domyślnie wysyłany jest sygnał TERM, kończący proces. Można także wysyłać inne sygnały korzystając z opcji
-s sygnał.
Uruchamianie procesu z danym priorytetem.
nice [-priorytet] wiersz_polecenia
Uruchamiając program można zmienić jego priorytet działania. Aby dowiedzieć się z jakim priorytetem są uruchamiane domyślnie programy wpisz:
$ nice
Im niższy numer, tym wyższy priorytet. Uruchamiając program można podawać priorytety od -20 do 19.
Aby uruchomić przykładowo polecenie sort (sortującego plik) z priorytetem 2 wpisz:
$nice -2 sort nazwa_pliku
Zmiana priorytetu działającego procesu.
renice priorytet [opcje] PID
Jeżeli chcesz zmienić priorytet działającego procesu o PID=1234, możesz użyć do tego celu polecenia:
$ renice +3 -p 1234
Użytkownik może tylko zmniejszać priorytet swojego procesu. Zwiększać może superużytkownik.
Jeżeli chcesz zmienić priorytet procesów, których właścicielem jest dany użytkownik, użyj polecenia z opcją
-u nazwa_użytkownika