Slackware Logo
Slackware Logo

Lugons

Info

Prevodioci

Greške

 
 LUGONS Slackbook prevod

11.4 kill

Dešava se da se program loše ponaša i da je potrebno ponovo da se pokrene. Program koji radi taj administrativni zadatak se zove kill(1) i koristi se za manipulaciju procesima na nekoliko načina. Najočigledniji način korišćenja je kada izdamo samo kill komandu i tako ubijemo proces. To je potrebno da uradite ako program koristi dosta resurasa sistema, ili vam je muka od toga šta on radi.

Da biste ubili proces, potrebno je znate njegov PID ili njegovo ime. Da biste dobili PID procesa , koristite ps komandu onako kako je objašnjeno u zadnjem odeljku. Na primer, za ubijanje procesa 4747, izdaćete sledeću komadnu:

% kill 4747

Zapazite da morate da budete vlasnik procesa da biste mogli da ga ubijete. To je tako zbog sigunosti. Da bi vam bilo dozvoljeno da ubijete procese koje su startovali drugi korisnici, bili biste u mogućnosti da radite dosta malicioznih stvari. Naravno, root može da ubije svaki proces na sistemu.

Postoji jedna varijacija kill komande koja se zove killall(1). Ovaj program radi baš ono što mu i ime govori: ubija sve pokrenute procese određenog naziva. Ako želite da ubijete sve pokrenute vim procese, trebali biste da otkucate sledeću komandu:

% killall vim

Jedan jedini, ili svi pokrenuti vim procesi će biti ubijeni. Ako to uradite kao root ubićete sve vim procese svih korisnika. Evo zanimljivog načina da uklonite svakog korisnika (uključujući i sebe) sa sistema:

# killall bash

Ponekad regularan kill ne odradi svoj posao. Određeni procesi neću da umru sa kill. Stoga je potrebno da koristite moćniju formu kill komande. Oko ovaj bezobrazni PID 4747 ne odgovara na vaš kill zahtev, trebali biste ovako :

% kill -9 4747

Na ovaj način zasigurno će proces 4747 umreti. Sličnu stvar možete da uradite i sa killall komandom. Sve ovo je odraz toga što šaljemo različite signale procesima. Regularan kill šalje SIGTERM (terminate) signal ka procesima, što govori da oni treba da završe ono što su započeli, očiste se, i izađu. kill -9 šalje SIGKILL (kill) signal procesima, i na taj način se proces obara. Na ovaj način procesu nije dozvoljno čišćenje, tako da ponekad može doći do toga da se podaci pokvare. Ovde imate na raspolaganju kompletnu listu signala. Listig signala možete dobiti ako otkucate sledeće:

% kill -l
  1) SIGHUP     2) SIGINT    3) SIGQUIT   4) SIGILL
  5) SIGTRAP    6) SIGABRT   7) SIGBUS    8) SIGFPE
  9) SIGKILL   10) SIGUSR1  11) SIGSEGV  12) SIGUSR2
 13) SIGPIPE   14) SIGALRM  15) SIGTERM  17) SIGCHLD
 18) SIGCONT   19) SIGSTOP  20) SIGTSTP  21) SIGTTIN
 22) SIGTTOU   23) SIGURG   24) SIGXCPU  25) SIGXFSZ
 26) SIGVTALRM 27) SIGPROF  28) SIGWINCH 29) SIGIO
 30) SIGPWR

Sa komandom kill treba da se koristi broj, dok ime signala (uz odbacicanje “SIG” prefiksa) treba da se koristi sa killall komandom. Evo još jednog primera:

% killall -KILL vim

Zadnja upotreba kill komande je restarovanje procesa. Slanjem SIGHUP omogućava da većina procesa ponovo pročita svoje konfiguracione fajlove. Ovo je od esecijalne koristi kada je potrebno da sistem ponovo učita konfiguracione fajlove nakon njihovog uređivanja.