This shows you the differences between two versions of the page.
uso:laboratoare:new:02-process:get-a-life [2018/10/10 19:46] mbarbulescu [Procese detașate de terminal] |
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: | ||
- | |||
- | <code bash> | ||
- | student@uso:~$ sudo apt-get install transmission-cli | ||
- | </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''. | ||
- | |||
- | Înainte de a rula ''transmission'' trebuie mărite buffer-ele în care se acumulează pachete pentru porturi. Trebuie rulate comenzile: | ||
- | |||
- | <code bash> | ||
- | student@uso:~$ sudo sysctl net.core.wmem_max=7212992 | ||
- | student@uso:~$ sudo sysctl net.core.rmem_max=7212992 | ||
- | </code> | ||
- | |||
- | <code bash> | ||
- | student@uso:~$ transmission-cli ~/Downloads/ubuntu-17.04-desktop-amd64.iso.torrent | ||
- | </code> | ||
- | |||
- | <note warning>Dacă procesul nu porneşte şi aveţi erorile de mai jos | ||
- | |||
- | <code bash> | ||
- | [2018-10-10 19:41:21.422] UDP: Failed to set receive buffer: requested 4194304, got 425984 | ||
- | [2018-10-10 19:41:21.422] UDP: Please add the line "net.core.rmem_max = 4194304" to /etc/sysctl.conf | ||
- | [2018-10-10 19:41:21.422] UDP: Failed to set send buffer: requested 1048576, got 425984 | ||
- | [2018-10-10 19:41:21.422] UDP: Please add the line "net.core.wmem_max = 1048576" to /etc/sysctl.conf | ||
- | [2018-10-10 19:41:21.422] DHT: Generating new id | ||
- | ERROR: Unrecognized torrent "/home/student/Download/ubuntu-17.04-desktop-amd64.iso.torrent". | ||
- | * If you're trying to create a torrent, use transmission-create. | ||
- | * If you're trying to see a torrent's info, use transmission-show. | ||
- | [2018-10-10 19:41:21.471] DHT: Not saving nodes, DHT not ready | ||
- | [2018-10-10 19:41:21.471] Port Forwarding: Stopped | ||
- | </code> | ||
- | |||
- | asiguraţi-vă că aţi executat comenzile cu sysctl: | ||
- | |||
- | <code bash> | ||
- | student@uso:~$ sudo sysctl net.core.wmem_max=7212992 | ||
- | student@uso:~$ sudo sysctl net.core.rmem_max=7212992 | ||
- | </code> | ||
- | |||
- | </note> | ||
- | |||
- | 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. | ||
- | |||
- | **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 ==== | ==== Trimiterea de semnale unui proces ==== | ||
Line 58: | Line 6: | ||
Pentru acest exercițiu trebuie să vă asigurați că sunteți în directorul potrivit. Rulați comanda | Pentru acest exercițiu trebuie să vă asigurați că sunteți în directorul potrivit. Rulați comanda | ||
<code> | <code> | ||
- | cd ~/uso.git/labs/02-process/support/ | + | cd ~/uso-lab/02-process/support/ |
</code> | </code> | ||
În directorul respectiv este scriptul ''batman.sh'': | În directorul respectiv este scriptul ''batman.sh'': | ||
<code> | <code> | ||
- | student@uso:~uso.git/labs/02-process/support$ ls | + | student@uso:~/.../02-process/support$ ls |
batman.sh bg-proc.sh it-s-a-trap.sh | batman.sh bg-proc.sh it-s-a-trap.sh | ||
</code> | </code> | ||
Line 99: | Line 47: | ||
Rulați filmul cu un player de filme. În timp ce rulează, ștergeți fișierul. | Rulați filmul cu un player de filme. În timp ce rulează, ștergeți fișierul. | ||
- | Până la a termina de rulat filmul, recuparați fișierul folosind procfs (din ''/proc''), din directorul aferent procesului player de filme. | + | 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 ==== | ==== 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. | 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. |