This shows you the differences between two versions of the page.
unixmix:capitole:capitol-03 [2013/07/09 13:19] alexef [Informații despre procese din sistemul de fișiere] |
unixmix:capitole:capitol-03 [2014/09/09 11:57] (current) razvan [Exerciții] |
||
---|---|---|---|
Line 1: | Line 1: | ||
= Administrarea proceselor = | = Administrarea proceselor = | ||
+ | |||
+ | [[https://docs.google.com/presentation/d/1ugVHI-t18A_9rTiPNCKgCgKF5tdrvvDwlSAQlNzvTwQ/pub?start=false&loop=false&delayms=3000|Slide-uri de prezentare]] | ||
+ | |||
== Tutorial (1) == | == Tutorial (1) == | ||
Line 8: | Line 11: | ||
** Comanda afișează informații despre două procese: | ** Comanda afișează informații despre două procese: | ||
*** ''ps'' - comanda tocmai rulată | *** ''ps'' - comanda tocmai rulată | ||
- | *** ''tcsh'' - interpretorul de comenzi care rulează în terminal | + | *** ''bash'' - interpretorul de comenzi care rulează în terminal |
- | **** Rețineți ''PID''-ul procesului ''tcsh''. | + | **** Rețineți ''PID''-ul procesului ''bash''. |
* Rulați încă o dată comanda ''ps''. | * Rulați încă o dată comanda ''ps''. | ||
** Ce s-a schimbat în coloana **PID**. De ce? | ** Ce s-a schimbat în coloana **PID**. De ce? | ||
- | * Rulați comanda ''pidof tcsh''. | + | * Rulați comanda ''pidof bash''. |
** Ce observați? | ** Ce observați? | ||
** Rulați comanda ''pidof init''. | ** Rulați comanda ''pidof init''. | ||
Line 48: | 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 58: | 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 104: | 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 == | ||
Line 113: | 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ă. |