Killall

From EIK wiki

Tõnu Erm AK21 2012

killall - Protsesside tapmine nime järgi

Kirjeldus:

Siinkohal käsitleme Killall käsku Ubuntu Linux 12.04 keskkonnas, teistes keskkondades võib see käsk teha hoopis muud.


Killall saadab signaali kõigile töötavatele protsessidele, mis vastavad protsessinimele. Kui signaali pole eraldi sisestatud, saadab protsessile SIGTERM käsu.

Signaalid saab esitada kas nime järgi(-HUP) või numbrina(-1). Vaikimisi saadetakse SIGTERM(-15) signaal.

Kui käsu nimes on / siis tapetakse protsess, mis ette antud faili kasutab.

killall tagastab null tagastuskoodi kui vähemalt üks protsess on tapetud.

killall protess ei tapa kunagi iseend, küll aga teisi killall protsesse.


SYNOPSIS

killall [-e,--exact] [-g,--process-group] [-i,--interactive] [-q,--quiet] [-v,--verbose] [-w,--wait] [-V,--version] [-S,--sid] [-c,--context] [-s,--signal signal] [--] name ... killall -l killall -V,--version

OPTIONS

-e, --exact(täpne vaste)

Nõuab täpset vastet väga pikkade prostsessinimede puhul. Kui käsu nimi on pikem kui 15 sümbolit, siis täielik nimi pole võimalik. Sellistel juhtudel killall tapab kõik protsessid, mis vastavad esimestele 15 tähemärgile. Sellistel juhtudel kasutades -e lippu sellised protsessid jäetakse vahele. Killall kuvab kõik vahele jäetud kirjed kui on lisatud lipp -v.


-g, --process group (protsessi grupp)

Tapab protsessi grupi kuhu protsess kuulub. Kill signaal saadetakse ainult korra protsessi grupile, isegi siis kui mitmeid protsesse kuulub samasse protsessi gruppi.

-i, --interactive(interaktiivne)

Küsib üle kas soovite protsessi tappa. Näide:

 killall -i htop
Kill htop(4462) ? (y/N) 

-l, --list(nimekiri)

Näitab nimekirja kõigist võimalikest saadetavates signaalidest.

Näide:

killall -l
HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM
STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
UNUSED

-q, --quiet(vaikne)

Ei pahanda kui ei leia ühtegi protsessi mida tappa.

-v, --verbose(väga jutukas)

Teatab kas signaal on edukalt saadetud.

Näide:

killall -v htop
Killed htop(4462) with signal 15

-V, --version(versioon)

Näitab versiooni infot.

Näide:

killall -V
killall (PSmisc) 22.15
Copyright (C) 1993-2005 Werner Almesberger and Craig Small

PSmisc comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it under
the terms of the GNU General Public License.
For more information about these matters, see the files named COPYING.

-w, --wait(ootab)

Ootab kuni kõik protsessid on tapetud. Killall kontrollib iga sekundi järel kas mõni tapetud protsess on veel elus, seda niikaua kuni kõik on tapetud. Killall jääbki ootama igavesti kui protsess on ignoreeritud, ei reageeri, või protsess on zombi olekus.

Signaalid mida saame saata protsessidele:

      Signaal     #väärtus   käsk   kirjeldus
      ----------------------------------------------------------------------
      SIGHUP        1       Term    Hangup detected on controlling terminal
                                    or death of controlling process
      SIGINT        2       Term    Interrupt from keyboard
      SIGQUIT       3       Core    Quit from keyboard
      SIGILL        4       Core    Illegal Instruction
      SIGABRT       6       Core    Abort signal from abort(3)
      SIGFPE        8       Core    Floating point exception
      SIGKILL       9       Term    Kill signal
      SIGSEGV      11       Core    Invalid memory reference
      SIGPIPE      13       Term    Broken pipe: write to pipe with no
                                    readers
      SIGALRM      14       Term    Timer signal from alarm(2)
      SIGTERM      15       Term    Termination signal
      SIGUSR1   30,10,16    Term    User-defined signal 1
      SIGUSR2   31,12,17    Term    User-defined signal 2
      SIGCHLD   20,17,18    Ign     Child stopped or terminated
      SIGCONT   19,18,25    Cont    Continue if stopped
      SIGSTOP   17,19,23    Stop    Stop process
      SIGTSTP   18,20,24    Stop    Stop typed at tty
      SIGTTIN   21,21,26    Stop    tty input for background process
      SIGTTOU   22,22,27    Stop    tty output for background process
      Signaale  SIGKILL ja SIGSTOP ei saa püüda, blokeerida ega ignoreerida.

Saadetav signaali number tuleb kirjutada " - " märgiga.

Näide, saadame protsessile htop kill(-9) signaali:

killall -9 htop
[1]+  Killed                  htop


Näide, saadame protsessile htop kill signaali:

killall -SIGKILL htop
[1]+  Killed                  htop

Kasutatud materjal:

http://www.kernel.org/doc/man-pages/online/pages/man7/signal.7.html
http://en.wikipedia.org/wiki/Killall http://linux.about.com/library/cmd/blcmdl1_killall.htm http://akadeemia.kakupesa.net/OSAS/loengud/