01.12.2012 Views

Introducere în Linux Un ghid la îndemână - "Tille" Garrels

Introducere în Linux Un ghid la îndemână - "Tille" Garrels

Introducere în Linux Un ghid la îndemână - "Tille" Garrels

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Dacă doriţi să opriţi un proces deoarece este <strong>în</strong>gheţat sau pentru că solicită prea mult resursele I/O<br />

sau alte resurse ale sistemului, folosiţi comanda kill. Dacă aveţi posibilitatea, <strong>în</strong>cercaţi să opriţi procesul <strong>în</strong>trun<br />

mod mai puţin brutal, trimiţând semnalul SIGTERM. Acesta este o instrucţiune care cere oprirea <strong>în</strong><br />

concordanţă cu procedurile descrise <strong>în</strong> codul programului:<br />

În exemplul de mai sus, utilizatorul joe a oprit Mozil<strong>la</strong> deoarece răspundea greu <strong>la</strong> comenzi.<br />

De anumite procese scăpaţi mai greu. Dacă aveţi răbdare, le puteţi trimite semnalul SIGINT pentru<br />

a le opri. Dacă nici acesta nu reuşeşte, folosiţi cel mai puternic semnal, SIGKILL. În exemplul de mai jos, joe<br />

opreşte Mozil<strong>la</strong> deoarece <strong>în</strong>gheţase:<br />

În astfel de cazuri, aţi putea să verificaţi dacă procesul este cu adevărat oprit, folosind filtrarea<br />

grep asupra PID. Dacă este returnat doar procesul grep, puteţi fi siguri că aţi reuşit oprirea procesului.<br />

Printre procesele care sunt greu de oprit se numără şi conso<strong>la</strong>. Este un lucru bun: dacă ar fi uşor<br />

de terminat, aţi fi pierdut conso<strong>la</strong> de fiecare dată când aţi fi apăsat accidental Ctrl-C <strong>în</strong> linia de comandă,<br />

<strong>în</strong>trucât combinaţia de taste menţionată trimite semnalul SIGINT.<br />

UNIX-ul fără conexiuni (pipes) este de neconceput<br />

Folosirea conexiunilor (|) <strong>în</strong> aşa fel <strong>în</strong>cât ieşirea unei comenzi să devină intrare pentru altă<br />

comandă este explicată <strong>în</strong> capitolul următor, Capitolul 5.<br />

În mediul grafic, programul xkill este foarte uşor de folosit. Introduceţi numele comenzii, apăsaţi Enter şi<br />

alegeţi fereastra aplicaţiei pe care doriţi să o opriţi. Este o abordare periculoasă, deoarece comanda trimite<br />

implicit semnalul SIGKILL, aşa că folosiţi-o numai <strong>în</strong> cazurile <strong>în</strong> care aplicaţiile nu mai răspund.<br />

4.4. Programarea proceselor<br />

4.4.1. Folosiţi acel timp disponibil!<br />

<strong>Un</strong> sistem <strong>Linux</strong> poate suferi din multe cauze, dar suferă, de regulă, doar pe parcursul programului<br />

de lucru. Fie că se află <strong>în</strong>tr-un mediu de birouri, ori camera serverelor sau acasă, cele mai multe sisteme<br />

<strong>Linux</strong> sunt <strong>în</strong> aşteptare dimineaţa, seara, noaptea şi <strong>la</strong> sfârşitul săptămânii. Folosirea acestui timp disponibil<br />

se dovedeşte a fi mult mai ieftin decât cumpărarea unor echipamente de care aveţi neapărată nevoie dacă<br />

doriţi ca toate lucrurile să fie făcute <strong>în</strong> ace<strong>la</strong>şi timp.<br />

Se disting trei tipuri de execuţie <strong>în</strong>târziată:<br />

● Sarcină pusă <strong>în</strong> aşteptare pentru puţin timp şi apoi re<strong>la</strong>nsată <strong>în</strong> execuţie, prin comanda sleep.<br />

Timpul de execuţie depinde de timpul sistemului <strong>în</strong> momentul introducerii.<br />

● Ru<strong>la</strong>rea unei comenzi <strong>la</strong> un moment de timp specificat, folosind comanda at. Executarea sarcinii<br />

depinde de timpul sistemului, nu de cel al introducerii.<br />

● Ru<strong>la</strong>rea unei comenzi regu<strong>la</strong>t, lunar, săptămânal sau din oră <strong>în</strong> oră, prin folosirea comenzii cron.<br />

Secţiunea următoare va discuta fiecare posibilitate.<br />

84

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!