Narzędzia użytkownika

Narzędzia witryny


so:ps_kill

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
so:ps_kill [2023/03/20 16:46]
jkonczak [Sygnały]
so:ps_kill [2025/04/06 14:50] (aktualna)
jkonczak dodano przykłady
Linia 22: Linia 22:
 <​small>​ <​small>​
 ~~Zadanie.#​~~ Zmierz ile czasu trwa wykonanie komendy: ~~Zadanie.#​~~ Zmierz ile czasu trwa wykonanie komendy:
 +<​html><​div style="​margin-top:​-1.2em"></​div></​html>​
   * ''​openssl dhparam -text 1536''​   * ''​openssl dhparam -text 1536''​
   * ''​dd if=/​dev/​zero of=/​dev/​null bs=1 count=2M''​   * ''​dd if=/​dev/​zero of=/​dev/​null bs=1 count=2M''​
Linia 110: Linia 111:
  
 ~~Zadanie.#​~~ Wyświetl listę wszystkich procesów i wątków w systemie. Znajdź na niej dwa wątki tego samego procesu. ~~Zadanie.#​~~ Wyświetl listę wszystkich procesów i wątków w systemie. Znajdź na niej dwa wątki tego samego procesu.
 +
 +<​small>​
 +~~Zadanie.#​~~ Uruchom polecenie ''​%%python -c '​import os; os.popen("​true"​);​ os.read(0,​1)'​%%''​ które "​wyprodukuje"​ proces zombie. Znajdź go na liście procesów.
 +</​small>​
  
 Lista procesów w formie drzewa może być wyświetlona komendą **''​pstree''​**. Lista procesów w formie drzewa może być wyświetlona komendą **''​pstree''​**.
Linia 119: Linia 124:
  
 ~~Zadanie.#​~~ Wyświetl drzewo procesów z pidem każdego procesu. ~~Zadanie.#​~~ Wyświetl drzewo procesów z pidem każdego procesu.
 +
 +++++Przykłady - listowanie procesów|{{page>​so:​ps_kill:​examples#​ps_pstree&​inline&​noheader}}++++
 +++++Przykłady - procesy zombie|{{page>​so:​ps_kill:​examples#​zombie&​inline&​noheader}}++++
  
 Pseudo system plików ''​procfs'',​ zamontowany standardowo w ''/​proc'',​ pozwala Pseudo system plików ''​procfs'',​ zamontowany standardowo w ''/​proc'',​ pozwala
Linia 151: Linia 159:
 Ale co z swapem i [[https://​en.wikipedia.org/​wiki/​Zram|kompresją wewnątrz RAMu]]… Ale co z swapem i [[https://​en.wikipedia.org/​wiki/​Zram|kompresją wewnątrz RAMu]]…
  
-Zużycie pamięci próbuje sensownie pokazać program ''​smem'';​ sprawdź opcje ''​-p''​ i ''​-t''​.+Zużycie pamięci próbuje sensownie pokazać program ''​smem'';​ sprawdź opcje ''​-p''​ i ''​-t ​-k''​.
 </​small>​ </​small>​
  
Linia 185: Linia 193:
  
 Poza programem ''​htop'',​ istnieje wiele narzędzi wzorowanych na ''​top''​ pokazujących Poza programem ''​htop'',​ istnieje wiele narzędzi wzorowanych na ''​top''​ pokazujących
-stan systemu i procesów. Są to m. in.. ''​iotop''​ (użycie I/O), ''​atop'',​ ''​glances''​.+stan systemu i procesów. Są to m. in.. ''​iotop''​ (użycie I/O), ''​atop'',​ ''​glances'',​ ''​bottom''​.
 </​small>​ </​small>​
 +
 +++++Przykłady|<​asciicast so:​tops.cast 80>++++
  
 === Wyszukiwanie procesów === === Wyszukiwanie procesów ===
Linia 285: Linia 295:
 ~~Zadanie.#​~~ Uruchom w jednym terminalu komendą ''/​usr/​sbin/​named -g -c <​(:​)''​ serwer DNS. Z drugiego terminalu wyślij sygnał HUP do ''​named''​a. ~~Zadanie.#​~~ Uruchom w jednym terminalu komendą ''/​usr/​sbin/​named -g -c <​(:​)''​ serwer DNS. Z drugiego terminalu wyślij sygnał HUP do ''​named''​a.
 </​small>​ </​small>​
 +
 +++++Przykłady|<​asciicast so:​pkill.cast 81>++++
  
 ==== Kontrola zadań w powłoce ==== ==== Kontrola zadań w powłoce ====
Linia 329: Linia 341:
  
 ~~Zadanie.#​~~ Uruchom w tle ''​sleep 1h''​ oraz ''​sleep 15s''​. Poczekaj poleceniem ''​wait''​ na zakończenie drugiego ''​sleep''​a. ~~Zadanie.#​~~ Uruchom w tle ''​sleep 1h''​ oraz ''​sleep 15s''​. Poczekaj poleceniem ''​wait''​ na zakończenie drugiego ''​sleep''​a.
 +
 +++++Przykłady|<​asciicast so:​jobs.cast 80>++++
  
 ==== Proces a planiści ==== ==== Proces a planiści ====
Linia 373: Linia 387:
  
 </​small>​ </​small>​
 +
 +++++Przykłady|<​asciicast so:​niceness.cast 80>++++
  
 ~~Zadanie.#​~~ Uruchom komendę ''​sleep 1h''​ z niceness 10. Sprawdź jej nicneness (np. w ''​ps''​ / ''​htop''​). ~~Zadanie.#​~~ Uruchom komendę ''​sleep 1h''​ z niceness 10. Sprawdź jej nicneness (np. w ''​ps''​ / ''​htop''​).
Linia 379: Linia 395:
  
 ~~Zadanie.#​~~ W dwóch konsolach wykonaj ''​taskset -pc 0 $$''​ (<​small>​która zmieni listę dozwolonych procesorów tego shella na pierwszy</​small>​).\\ ~~Zadanie.#​~~ W dwóch konsolach wykonaj ''​taskset -pc 0 $$''​ (<​small>​która zmieni listę dozwolonych procesorów tego shella na pierwszy</​small>​).\\
-Następnie w obu wykonaj ''​openssl dhparam ​-text %%$((2**14))%% [//dowolny tekst//]''​+Następnie w jednym ​wykonaj ''​openssl dhparam ​9000'',​ w drugim ''​openssl dhparam 9001''​
 (<​small>​co uruchomi procesorożerne szukanie dużych liczb pierwszych</​small>​).\\ (<​small>​co uruchomi procesorożerne szukanie dużych liczb pierwszych</​small>​).\\
 W trzeciej konsoli uruchom ''​htop''​ i obserwuj zużycie CPU. \\ W trzeciej konsoli uruchom ''​htop''​ i obserwuj zużycie CPU. \\
Linia 419: Linia 435:
 na procesorach z węzła //x// i pamięci z węzła //y//. na procesorach z węzła //x// i pamięci z węzła //y//.
  
-</​small>​ 
- 
-===== Edycja linii poleceń ​ ===== 
- 
-Bash (i wiele innych programów) korzysta do odczytywania komend ze standardowego wejścia biblioteki [[https://​en.wikipedia.org/​wiki/​GNU_Readline|readline]]. 
-\\ 
-Część programów z przyczyn licencyjnych wybiera do tego samego celu [[https://​thrysoee.dk/​editline/​|libedit]]. 
- 
-Readline pozwala na wygodną edycję linii poleceń i tworzenie historii poleceń. 
- 
-Lista sensownych skrótów klawiszowych do edycji linii poleceń jest tutaj: https://​readline.kablamo.org/​emacs.html 
-\\ 
-Pełna lista komend i przypisanych do nich skrótów jest w podręczniku systemowym (''​man readline''​ i ''​man bash''​). 
-\\ 
-Konwencja zapisu skrótów klawiszowych to: 
-  * ''​^//​x//''​ lub ''​C-//​x//''​ to //Ctrl+x// (uwaga:''​^//​X//''​ lub ''​C-//​X//''​ to //​Ctrl+Shift+x//​),​ 
-  * ''​M-//​x//''​ to zwykle //Alt-x// (patrz: https://​en.wikipedia.org/​wiki/​Meta_key),​ 
-  * ''//​a//​ //​b//''​ to wciśnięcie po skrócie //a// skrótu //b//. 
- 
-Bash domyślnie dopisuje historię wykonanych poleceń do pliku ''​~/​.bash_history''​ w momencie wyjścia z powłoki. 
-\\ 
-Historię (tą z pliku połączoną z bieżącą) można wyświetlić komendą ''​history''​. (W ''​man bash_builtins''​ znajduje się opis przełączników.) 
- 
-<​small>​ 
- 
-Do wygodnego przeglądania historii można też użyć programu [[https://​dvorka.github.io/​hstr/​|hstr]] 
  
 +Komenda ''​lstopo''​ z paczki ''​[[https://​www.open-mpi.org/​projects/​hwloc/​|hwloc]]''​
 +pozwala zwizualizować topologię zasobów maszyny.
 </​small>​ </​small>​
- 
-~~Zadanie.#​~~ Jakim skrótem czyści się ekran? 
- 
-~~Zadanie.#​~~ Jakimi skrótami wyszukuje się wstecz w historii? 
- 
-~~Zadanie.#​~~ Jakim skrótem przesuwa się kursor o jedno słowo? 
- 
-<​small>​ 
- 
-~~Zadanie.#​~~ Jakim złożeniem skrótów przesuwa się kursor o 5 słów? 
- 
-~~Zadanie.#​~~ Jakim skrótów wstawia się ostatnie słowo z poprzedniego polecenia w historii? 
- 
-~~Zadanie.#​~~ Jakim złożeniem skrótów wstawia się trzecie od końca słowo z poprzedniego polecenia w historii? 
- 
-~~Zadanie.#​~~ Jakim skrótem zamienia się kolejnością to słowo z poprzednim? 
- 
-</​small>​ 
- 
-===== Edycja plików w konsoli ===== 
- 
-=== vi i vim === 
- 
-''​vi''​ jest często jedynym domyślnie instalowanym edytorem tekstowym. 
- 
-''​vim''​ to ulepszona wersja ''​vi''​. 
- 
-Żeby nauczyć się ''​vim'',​ uruchom ''​vimtutor''​. 
- 
- 
-<​small>​ 
- 
-''​vi''​ jest wpisane w standard [[https://​pubs.opengroup.org/​onlinepubs/​9699919799/​utilities/​vi.html|POSIX]]. 
-\\ 
-Jest też częścią minimalistycznych zestawów narzędzi takich jak busybox i toybox. 
- 
-</​small>​ 
- 
-~~Zadanie.#​~~ Przejdź całą pierwszą lekcję w ''​vimtutor''​. 
- 
-<​small>​ 
- 
-~~Zadanie.#​~~ Przejdź pozostałe lekcje w ''​vimtutor''​. 
- 
-=== nano === 
- 
-Nano jest stosunkowo prostym edytorem tekstowym. 
- 
-Podstawowe skróty są wyświetlone na dole ekranu. 
- 
-Więcej na: https://​www.nano-editor.org/​docs.php 
- 
-=== Emacs === 
- 
-[[https://​www.gnu.org/​software/​emacs/​|Emacs]] jest [[https://​en.wikipedia.org/​wiki/​Editor_war|odwiecznym rywalem]] ''​vim''​a w konkurencji programów do edytowania tekstu w konsoli. 
- 
-Po wpisaniu ''​emacs''​ możesz wybrać tutorial skrótem //Ctrl+h t//. 
- 
-=== Inne === 
- 
-  * [[https://​joe-editor.sourceforge.io/​joe]] 
-  * mcedit – edytor zintegrowany z [[https://​en.wikipedia.org/​wiki/​Midnight_Commander|mc]] 
-  * [[https://​micro-editor.github.io/​|micro]] 
-  * [[https://​neovim.io/​|neovim]] 
-  * [[https://​helix-editor.com/​|hx]] 
-  ​ 
-</​small>​ 
- 
- 
- 
  
  
so/ps_kill.1679327198.txt.gz · ostatnio zmienione: 2023/03/20 16:46 przez jkonczak