Ważne komendy
-
bg
- wznawia zawieszone procesy pozostawiając je uruchomione w tle
-
fg
- wznawia zawieszone procesu i uruchamia je w pierwszym planie
-
jobs
- wyświetla listę procesów pracujących w tle
-
kill
- wysyła sygnał do procesu o podanym PID, wpływając na jego zachowanie lub go przerywając
-
killall
- wysyła sygnał do procesów o podanej nazwie
-
nice
- pozwala na uruchomienie procesu z określonym priorytetem
-
nohup
- uruchamia proces, który będzie działał po wyjściu z terminala
-
pkill
- wysyła sygnał do procesów, których nazwa pasuje do podanego wzorcu
-
pgrep
- wyświetla numery PID procesów, których nazwa pasuje do podanego wzorcu
-
ps
- wyświetla listę aktualnie uruchomionych procesów w systemie,
do których użytkownik ma dostęp
-
pstree
- wyświetla drzewo aktualnie uruchomionych procesów w systemie,
do których użytkownik ma dostęp (wskazujące relacje między procesami)
-
renice
- pozwala na zmianę priorytetu uruchomionego procesu
-
top
- interaktywne narzędzie do monitorowania procesów
można też stosować nowsze komendy: atop
,
htop
, btop
Skróty klawiszowe
-
ctrl-c
- przerywa ("zabija") aktualnie uruchomione zadanie
-
ctrl-z
- zatrzymuje aktualnie uruchomione zadanie, które można później zakończyć lub
wznowić, na pierwszym planie lub w tle
Uruchomienie polecenia w tle:
polecenie &
Zadania
Zadanie 1.
Wyświetl listę wszystkich procesów:
- wraz z informacją jaki jest właściciel danego procesu,
- wraz z procesami, które wykonują się w innym terminalu,
- wraz z procesami, które wykonują się bez terminala
(zamiast pliku do terminala zawierają
?
).
Zadanie 2.
Utwórz skrypt, który w nieskończonej pętli będzie wyświetlał dowolny, niepusty, napis co 5 sekund
oraz uruchom go w tle przy pomocy
&
oraz wykonaj poniższe czynności.
- sprawdź listę procesów, które zostały uruchomione w tle w bieżącym terminalu.
- otwórz nowy terminal oraz wyświetl w nim listę wszystkich procesów, w taki sposób,
aby widoczne były również te procesy, które zostały uruchomione w poprzednim terminalu.
- sprawdź, czy możesz wznowić proces działający w tle, na pierwszy plan w drugim terminalu.
- sprawdź czy możesz przerwać (zabić) proces działający w tle w pierwszym oraz drugim terminalu.
- wyłącz oba terminale, następnie otwórz ponownie nowy terminal oraz sprawdź czy
procesy nadal istnieją.
Zadanie 3.
Utwórz skrypt, który w nieskończonej pętli będzie wyświetlał dowolny, niepusty, napis co 5 sekund
oraz uruchom go w taki sposób, aby tworzył proces, który nie jest zależny od terminala oraz wykonaj poniższe czynności.
- wyłącz terminal, następnie otwórz ponownie nowy oraz sprawdź czy
proces nadal istnieje.
- wyloguj się, następnie zaloguj i sprawdź czy
proces nadal istnieje.
- sprawdź czy możesz wznowić proces na pierwszym planie.
- przerwij (zabij) utworzony w tle proces, następnie przejrzyj plik
nohup.out oraz postaraj się z zrozumieć z czego wynika jego zawartość.
- uruchom proces przekierowując zawartość do pliku i sprawdź co się stanie.
Zadanie 4.
Utwórz skrypt, który w nieskończonej pętli będzie wyświetlał dowolny niepusty napis co 5 sekund
oraz uruchom go kilka razy z różnymi priorytetami, następnie sprawdź, czy zasoby (CPU, pamięci) są zużywane zgodnie
z przydzielonymi priorytetami procesów. Pozmieniań odpowiednio priorytety
(tak aby największy priorytet był najmniejszy, najmniejszy największy itp.) oraz sprawdź czy
poziom zużywania zasobów się zmienił.
Zadanie 5.
Zapoznaj się z działaniem interaktywnych narzędzi do uruchamiania procesów
(polecenia tj.
atop
,
htop
,
btop
). Przy ich pomocy przerwij kilka procesów
oraz sprawdź jego inne możliwości.