This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
medium-unix:capitole:capitol-04 [2016/05/16 20:02] razvan |
medium-unix:capitole:capitol-04 [2016/05/17 23:11] (current) mtiganus |
||
---|---|---|---|
Line 28: | Line 28: | ||
* TODO | * TODO | ||
+ | ==== Slide-uri ==== | ||
+ | |||
+ | [[http://koala.cs.pub.ro/training/res/medium-unix/slides/cap-04.pdf|Slide-uri capitol 4]] | ||
+ | |||
+ | <html> | ||
+ | <center> | ||
+ | <iframe src="http://docs.google.com/viewer?url=http://koala.cs.pub.ro/training/res/medium-unix/slides/cap-04.pdf&embedded=true" width="600" height="470" style="border: none;"></iframe> | ||
+ | </center> | ||
+ | </html> | ||
===== Exerciții ===== | ===== Exerciții ===== | ||
Line 95: | Line 104: | ||
<code bash> | <code bash> | ||
lsof -c "ssh" | lsof -c "ssh" | ||
+ | </code> | ||
+ | |||
+ | Vizualizarea descriptorilor de fișier folosind comanda ''lsof'' pentru procesul ''sleep'' din fiecare din comenzile de mai jos<code> | ||
+ | sleep 30 > a.txt | ||
+ | sleep 30 < a.txt | ||
+ | sleep 30 < a.txt > b.txt 2> c.txt | ||
+ | cat | sleep 30 | cat | ||
</code> | </code> | ||
Line 120: | Line 136: | ||
<note tip> | <note tip> | ||
- | Căutați în pagina de manual a comenzii ''ps'' secțiunea //Standard Format Specifiers//. | + | Căutați în pagina de manual a comenzii ''ps'' secțiunea //STANDARD FORMAT SPECIFIERS//. |
</note> | </note> | ||
Line 139: | Line 155: | ||
Să se afișeze toate fișierele dechise de procesul {{{bash}}} pornit de utilizatorul student. | Să se afișeze toate fișierele dechise de procesul {{{bash}}} pornit de utilizatorul student. | ||
- | ==== TODO 2 ==== | + | Pentru procesele de mai sus afișați PID-ul, comanda completă (cale completă cu parametri), timpul de rulare pe procesor, memoria RAM consumată (RSS -- //resident set size//). Pentru a selecta doar anumite atribute ale unui proces folosiți comanda ''ps'' cu parametrul ''-o'' urmat de opțiunile specifice. |
- | TODO | + | <note tip> |
+ | Urmăriți și pagina de manual a comenzii ''ps'' secțiunea ''STANDARD FORMAT SPECIFIERS''. | ||
+ | </note> | ||
+ | Afișați cele mai consumatoare de memorie 5 procese din sistem care **nu** aparțin utilizatorului ''root''. | ||
+ | |||
+ | Pentru afișarea de mai sus, folosiți opțiunea de ascundere a header-ului în afișarea comenzii ''ps''. | ||
+ | |||
+ | ==== Procesele unui utilizator ==== | ||
+ | |||
+ | Dorim să lucrăm cu grupuri de procese care țin de un utilizator. | ||
+ | |||
+ | Pe un tab nou de terminal adăugăm utilizatorul ''ana'' folosind comenzile<code> | ||
+ | $ sudo su | ||
+ | # adduser ana | ||
+ | [...] | ||
+ | # exit # sau puteti folosi combinatia de taste Ctrl+d | ||
+ | $ | ||
+ | </code> | ||
+ | |||
+ | În acel tab nou ne autentificăm ca utilizatorul ''ana'' folosind comanda<code> | ||
+ | $ su - ana | ||
+ | </code> | ||
+ | |||
+ | În cel nou tab, din contul utilizatorului ''ana'', porniți în background mai multe procese: ''sleep'', ''emacs'', ''gedit''. | ||
+ | |||
+ | Din primul tab, folosiți, ca ''root'', ''pkill'' pentru o încheia execuția proceselor utilizatorului ''ana''; adică rulați ''sudo pkill ...'' (cu ce opțiuni sunt utile). Este posibil să fie necesar să folosiți semnalul ''SIGKILL'' ca să fie garantată încheierea execuției. | ||
+ | |||
+ | ==== Procesele unui terminal ==== | ||
+ | |||
+ | Pe un tab nou de terminal porniți în background procese ca utilizatorul ''root'', ''student'' și ''ana''. | ||
+ | |||
+ | În acel tab aflăm care este identificatorul terminalului curent folosind comanda<code> | ||
+ | $ tty | ||
+ | </code> | ||
+ | |||
+ | Din primul tab, folosiți, ca ''root'', ''pkill'' pentru o încheia execuția proceselor de pe al doilea terminal; adică rulați ''%%sudo pkill ...%%'' (cu ce opțiuni sunt utile). Este posibil să fie necesar să folosiți semnalul ''SIGKILL'' ca să fie garantată încheierea execuției. | ||
+ | |||
+ | ==== Folosirea tmux ==== | ||
+ | |||
+ | Porniți într-un ecran ''tmux'' un tracker BitTorrent, un server HTTP Python, un editor Vim sau Emacs și încă un ecran pentru comenzi. | ||
+ | |||
+ | <note tip> | ||
+ | Pentru pornirea ''tmux'' folosiți comanda | ||
+ | <code> | ||
+ | tmux | ||
+ | </code> | ||
+ | |||
+ | Pentru a deschide ecrane noi în ''tmux'' folosiți combinația de taste ''Ctrl+b'' și apoi separat ''c''. Pentru a tranzita între ferestre folosiți combinațiile de taste ''Ctrl+b'' urmat de ''n'' și ''Ctrl+b'' urmat de ''p''. Pentru a închide un ecran închideți shell-ul folosind ''Ctrl+d'' sau ''exit'' sau ''logout''. | ||
+ | |||
+ | Pentru a vă detașa de ''tmux'' folosiți combinația de taste ''Ctrl+b'' urmat de ''d''. Pentru a vă reatașa la ''tmux'' folosiți comanda<code> | ||
+ | tmux attach | ||
+ | </code> | ||
+ | </note> | ||
+ | |||
+ | <note tip> | ||
+ | Pentru a porni un server HTTP Python folosiți comanda | ||
+ | <code> | ||
+ | python -m SimpleHTTPServer | ||
+ | </code> | ||
+ | </note> |