This shows you the differences between two versions of the page.
unixmix:capitole:capitol-03 [2013/07/09 12:22] alexef [Încărcarea procesorului] |
unixmix:capitole:capitol-03 [2014/09/09 11:57] (current) razvan [Exerciții] |
||
---|---|---|---|
Line 1: | Line 1: | ||
= Administrarea proceselor = | = Administrarea proceselor = | ||
- | == Tutorial == | + | |
+ | [[https://docs.google.com/presentation/d/1ugVHI-t18A_9rTiPNCKgCgKF5tdrvvDwlSAQlNzvTwQ/pub?start=false&loop=false&delayms=3000|Slide-uri de prezentare]] | ||
+ | |||
+ | == Tutorial (1) == | ||
=== Informații despre procese === | === Informații despre procese === | ||
Line 38: | Line 41: | ||
** Utilitarul este asemănător ''top'' însă mult mai interactiv. | ** Utilitarul este asemănător ''top'' însă mult mai interactiv. | ||
*** Interacțiunea poate fi făcută și cu mouse-ul. | *** Interacțiunea poate fi făcută și cu mouse-ul. | ||
+ | |||
+ | == Tutorial (2) == | ||
=== Informații despre procese din sistemul de fișiere === | === Informații despre procese din sistemul de fișiere === | ||
Line 46: | Line 51: | ||
** Ce PID are interpretorul curent? | ** Ce PID are interpretorul curent? | ||
* Navigați în directorul /proc/$PID, unde $PID este PID-ul anterior. | * Navigați în directorul /proc/$PID, unde $PID este PID-ul anterior. | ||
- | ** Alternativ, puteți folosi ''cd /proc/$(pidof bash)''. | + | ** Alternativ, puteți folosi ''cd /proc/`pidof bash`''. |
* Afișați în format lung conținutul directorului curent. | * Afișați în format lung conținutul directorului curent. | ||
** Ce reprezintă fișierul ''exe''? | ** Ce reprezintă fișierul ''exe''? | ||
Line 56: | Line 61: | ||
* Listați conținutul directorului. | * Listați conținutul directorului. | ||
** Ce dimensiune ocupă acest director? | ** Ce dimensiune ocupă acest director? | ||
- | *** Revedeți capitolul anterior. | + | *** Dimensiunea spațiului ocupat de un director o aflați folosind comanda ''du -hs /path/to/folder'' unde ''/path/to/folder'' este calea către director; calea poate fi ''.'' pentru a afla spațiul ocupat de directorul curent. |
* Închideți editorul ''nano''. | * Închideți editorul ''nano''. | ||
* Listați conținutul directorului. | * Listați conținutul directorului. | ||
Line 102: | Line 107: | ||
*** Ce observați? | *** Ce observați? | ||
+ | === Semnale === | ||
+ | |||
+ | * Rulați comanda ''yes a''. | ||
+ | ** Apăsați ''Ctrl-z''. | ||
+ | ** Rulați ''jobs''. | ||
+ | *** Ce observați? | ||
+ | <code>Procesul a fosst suspendat</code> | ||
+ | * Rulați comanda ''fg''. | ||
+ | ** Apăsați ''Ctrl-c''. | ||
+ | *** Ce observați? | ||
+ | <code>Procesul a fost pornit în foreground. Interacțiunea cu acesta este permisă. | ||
+ | Ctrl-c omoară procesul.</code> | ||
+ | * Rulați comanda ''yes bored''. | ||
+ | ** Deschideți un alt terminal. Aflați ''PID-ul'' procesului. | ||
+ | * Rulați comanda ''kill -STOP $PID'', unde $PID este ''PID''-ul aflat anterior | ||
+ | ** Ce observați că s-a întâmplat cu procesul ''yes''? | ||
+ | <code>Procesul a fost suspendat. Similar cu Ctrl-z</code> | ||
+ | * Rulați comanda ''kill -l''. | ||
+ | ** Repetați experimentul și înlocuiți ''STOP'' cu numărul corespunzător aflat. | ||
+ | *** Pentru al doilea experiement, evident ''PID-ul'' nu va mai fi același. | ||
+ | <code>Același lucru.</code> | ||
+ | În momentul în care un terminal este închis, acesta transmite tuturor proceselor copil semnalul ''SIGHUP''. | ||
== Exerciții == | == Exerciții == | ||
- | Folosind comanda ''ps'', încercați să afișați doar câmpurile ''PID'' și ''PPID'' ale tutror proceselor din sistem. | + | Folosind comanda ''ps'', încercați să afișați doar câmpurile ''PID'' și ''PPID'' ale tuturor proceselor din sistem. |
Filtrați toate procesele din sistem după memoria utilizată (hint: ''top'') | Filtrați toate procesele din sistem după memoria utilizată (hint: ''top'') | ||
Line 111: | Line 138: | ||
Aflați care este load-ul sistemului folosind comanda ''top''. Ce alte informații puteți afla asemănător? | Aflați care este load-ul sistemului folosind comanda ''top''. Ce alte informații puteți afla asemănător? | ||
- | Folosind comanda ''yes'', faceți în așa fel încât output-ul să arate alternativ literele ''a'' și ''b''. | + | Folosind comanda ''yes'', faceți în așa fel încât output-ul să arate alternativ literele ''a'' și ''b''. Indiciu: **background** |
Rulați comanda ''gedit''. Închideți terminal-ul. Ce s-a întâmplat? | Rulați comanda ''gedit''. Închideți terminal-ul. Ce s-a întâmplat? | ||
* Folosiți comanda ''nohup'' astfel încât la închiderea terminalului, editorul text să nu se închidă. | * Folosiți comanda ''nohup'' astfel încât la închiderea terminalului, editorul text să nu se închidă. |