Differences

This shows you the differences between two versions of the page.

Link to this comparison view

uso:laboratoare:new:02-process:get-a-life [2018/10/09 21:51]
razvan.deaconescu created
uso:laboratoare:new:02-process:get-a-life [2019/10/05 20:59] (current)
cristiana.stan [Trimiterea de semnale unui proces]
Line 1: Line 1:
 ===== Get a Life ===== ===== Get a Life =====
  
-==== Procese detașate de terminal ==== 
  
-Pentru acest exercițiu avem nevoie ​de pachetul **transmission-cli**. Îl putem instala folosind comanda:+==== Trimiterea ​de semnale unui proces ====
  
-<​code ​bash+Pentru acest exercițiu trebuie să vă asigurați că sunteți în directorul potrivit. Rulați comanda 
-student@eg306:​~$ sudo apt-get install transmission-cli+<​code>​ 
 +cd ~/uso-lab/02-process/​support/​
 </​code>​ </​code>​
  
-Folosiți Transmission în linie de comandă pentru a descărca o imagine de Ubuntu, [[http://​releases.ubuntu.com/​17.04/​ubuntu-17.04-desktop-amd64.iso.torrent?​_ga=2.179407716.1129929276.1508229525-1809341997.1504894444|de aici]]. Descărcați fișierul .torrent în ''​/​home/​student/​Downloads''​+În directorul respectiv este scriptul ​''​batman.sh''​: 
- +<​code>​ 
-<​code ​bash+student@uso:~/.../02-process/​support$ ls 
-student@midgard:~$ transmission-cli ​~/Downloads/ubuntu-17.04-desktop-amd64.iso.torrent+batman.sh  bg-proc.sh ​ it-s-a-trap.sh
 </​code>​ </​code>​
  
-Dintr-un alt terminal determinați PID-ul acestui proces. Închideți terminalul din interfața grafică (X din colțul din dreapta sus). Căutați din nou procesul după identificator. +Rulați scriptul ''​batman.sh''​. Procesul interceptează toate semnalele cu indecși de la 1 la 13, mai puțin 9 (din motive evidente). De fiecare dată când primește un semnal cu indexul între 1 și 13 el afișează pe ecran un caracter. Mai jos aveți maparea dintre indecșii semnalelor și caracterul afișat:
- +
-**1.1** Ce s-a întâmplat cu procesul nostru transmission-cli tocmai creat? Care credeți că este cauza? +
- +
-Deschideți din nou un terminal, dar de data folosiți-vă de comanda **nohup** (man nohup) pentru a lansa procesul ''​transmission-cli''​ pentru descărcarea imaginii de Ubuntu. Închideți din nou terminalul din interfața grafică. Observați că procesul rămâne în viață. Determinați PID-ul acestui proces. +
- +
-**1.2** Ce fel de semnal se generează atunci când închidem terminalul și pe care a doua oară procesul transmission-gtk îl ignoră? +
- +
-==== Trimiterea de semnale unui proces ==== +
- +
-Mergeți în directorul ''​support''​ aferent laboratorului unde găsiți scriptul ''​batman.sh''​+
- +
-Rulați-l. Procesul interceptează toate semnalele cu indecși de la 1 la 13, mai puțin 9 (din motive evidente). De fiecare dată când primește un semnal cu indexul între 1 și 13 el afișează pe ecran un caracter. Mai jos aveți maparea dintre indecșii semnalelor și caracterul afișat:+
  
 <columns 50% 50% -> <columns 50% 50% ->
Line 51: Line 39:
 </​columns>​ </​columns>​
  
-**2.1** Într-un alt terminal aflați ​pid-ul procesului și trimiteți-i semnale astfel încât procesul să afișeze pe ecran șirul de caractere ''​uso rullz''​. ​+**2.1** Într-un alt terminal aflați ​PID-ul procesului și trimiteți-i semnale astfel încât procesul să afișeze pe ecran șirul de caractere ''​uso rullz''​. 
 + 
 +==== Recuperare fișier folosind procfs ==== 
 + 
 +Descărcați un fișier video de pe Internet. Puteți instala și utiliza [[https://​youtube-dl.org|youtube-dl]] pentru a descărca un film de pe [[https://​www.youtube.com|YouTube]]. 
 + 
 +Rulați filmul cu un player de filme. În timp ce rulează, ștergeți fișierul. 
 + 
 +Până la a termina de rulat filmul, recuperați fișierul folosind procfs (din ''/​proc''​),​ din directorul aferent procesului player de filme. 
 + 
 +==== Inspectare comenzi de investigare procese ====
  
 +Folosind utilitarul ''​strace''​ inspectați ce fișiere din procfs (din ''/​proc''​) sunt deschide de utilitarul ''​lsof''​ pentru afișarea descriptorilor deschiși de un proces existent, de utilitarul ''​pmap''​ pentru afișarea memorie unui proces și de utilitarul ''​free''​ pentru afișarea memoriei disponibile din sistem.
uso/laboratoare/new/02-process/get-a-life.1539111080.txt.gz · Last modified: 2018/10/09 21:51 by razvan.deaconescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0