dane programu,
zmienne środowiskowe,
strumienie stdin, stdout, stderr
otwarte pliki
kod programu;
jednym właścicielem,
określonymi uprawnieniami,
priorytetem.
ps
Stan procesów. (processes)
Wyświetl wszystkie procesy
Wyświetl procesy należące do wskazanych użytkowników
Wyświetl procesy których real user ID odpowiada wskazanym użytkownikom
Wyświetl pełną (full) listę: UID, PID, PPID, C, STIME, TTY, TIME, CMD. Wyświetla pełną nazwę polecenia (także łącznie z argumentami)
Wyświetl długą (long) listę: wszystkie informacje oprócz STIME.
S - Stan procesu
UID - Identyfikator właściciela
PID - Identyfikator procesu
PPID - Identyfikator procesu-rodzica
C - Użycie procesora
PRI - Priorytet (0 - wysoki priorytet, ważny proces; 99 - niski priorytet)
NI - Niceness - poziom obniżenia priorytetu (między -20 i 19) patrz: komenda nice
STIME - Czas uruchomienia procesu
TTY - Identyfikator konsoli
TIME - Całkowity czas wykonywania procesu
CMD - Uruchomiona komenda (-f - pełna ścieżka komendy oraz argumenty)
R - Wykonywany (running or runnable)
S, D - Oczekujący z możliwością przerwania (czeka na zdarzenie, uninterruptible sleep) i bez możliwości przerwania (najczęściej operacja IO, interruptible sleep)
X - Zakonczny, martwy (dead) - nie powinno się pojawiać
T - Stopped, either by a job control signal or because it is being traced.
Z - Proces “zombie” (defunct) - proces zakończony, pamięć dealokowana, wpis nie usunięty z tabeli procesów - czeka aż rodzic odczyta stan (wait)
top
Aktualny stan procesów.
k – wyślij sygnał do procesu
u – wyświetl procesy wskazanego użytkownika
r – zmień priorytet działającego procesu
q – zakończ działanie
O – posortuj według wskazanego pola
A – sortuj według czasu rozpoczęcia procesu
M – sortuj według zużycia pamięci
N – sortuj według identyfikatorów procesów
P – sortuj według zajętości procesora
ksysguard
(KDE)
gtop
(Gnome)
htop
pstree
Hierarchia procesów. (process tree)
kill
Wysyła sygnał do procesu rozpoznanego przez jego PID. Domyślnie wysyła sygnał TERM (termination) sygnał zamknięcia.
Wypisz wszystkie sygnały.
Przetłumacz numer sygnału na nazwę
Określ sygnał przez jego numer, np. -9
Określ sygnał przez nazwę, np. -TERM, albo -SIGTERM
TERM (SIGTERM) Wyślij do procesu sygnał terminate zamykający proces
KILL (SIGKILL) Wyślij do procesu sygnał kill forsowne zamykający proces
HUP (SIGHUP) Wyślij do procesu sygnał hang up zawieszający działanie procesu
kill 1290 1291
Wyślij sygnał TERM do procesów o identyfikatorach 1290 i 1291
kill -9 1300
Brutalne zamknięcie procesu do PID 1300
Sygnał TERM można wysłać do obecnie działającego na pierwszym planie procesu za pomocą kombinacji klawiszy CTRL+C
killall
Wysyła sygnał do procesu rozpoznanego przez nazwe komendy. Domyślnie wysyła sygnał TERM (termination) sygnał zamknięcia. Działa analogicznie do kill
.
killall vim emacs
Wyślij sygnał TERM do procesów komend vim i emacs (zamknie wszystkie uruchomione edytory vim i emacs)
nice
Uruchom proces ze zmniejszonym priorytetem, zwiększonym poziomem niceness.
Ustaw niceness na N
nice -n 10 emacs
uruchom program emacs z parametrem niceness równym 10, co spowoduje zmniejszenie ważności procesu
nice -n -10 emacs
uruchom program emacs z parametrem niceness równym -10 - zwiększenie ważności (parametr o wartości <0 może być nadany tylko przez administratora)
renice
Zmień priorytet działającemu procesowi.
Kontrola zadaniami - możliwość zawiesznia i wznawiania działania procesów. Zadania są pzypisane do konkretnego terminala.
Zawieszanie procesu z konsoli bash
: <ctrl> + z
Zawieszanie procesu: SIGSTOP (19)
Uaktywnienie procesu: SIGCONT (18)
jobs
Tablica aktywnych zadań
Więcej informacji.
Tylko PID.
fg
Uaktywnienie procesu. (foreground)
fg vim
Uaktywnienie procesu vim (tylko w wypadku kiedy działa jeden proces vim)
fg 1
Uaktywnienie zadania 1
bg
Uaktywnienie procesu w tle. (background)
bg vim
Uaktywnienie procesu vim w tle (tylko w wypadku kiedy działa jeden proces vim)
bg 1,2,3
Uaktywnienie zadań 1, 2, 3 w tle.
Polecenie kill
może też służyć do zamykania zadań, jeśli wskażemy PID
zadania: operator %
.
kill %1
Zabij zadanie nr 1.
Dowolne polecenie można rozpocząć w tle za pomocą opertora &
.
firefox &
Uruchom program firefox w tle.
PID ostatnio uruchomionego procesu jest dostępny pod zmienną $!.
echo $!
Wyświetla PID ostatnio wykonanego polecenia.
Skrypt dr Sobańca (Rozdział 4: Procesy, strona 15)