Provided by: manpages-nl-dev_4.15.0-9_all bug

NAAM

       kill - zend een signaal naar een proces

SAMENVATTING

       #include <stdio.h>

       int kill(pid_t pid, int sig);

   Feature Test Macro´s eisen in  glibc (zie feature_test_macros(7)):

       kill():
           _POSIX_C_SOURCE

BESCHRIJVING

       De  kill()  systeem  aanroep  kan gebruikt worden om elk signaal naar elke proces groep of
       proces te zenden.

       Als pid positief is, dan wordt het signaal sig naar het proces met het  ID  gespecificeerd
       door pid verzonden.

       Als pid gelijk is aan 0, dan wordt sig naar elk proces gezonden in de proces groep van het
       huidige proces.

       Als pid gelijk is aan -1 dan wordt sig naar elk proces gestuurd mits  het  huidige  proces
       gerechtigd is signalen te sturen, behalve voor het proces 1 (init), maar zie hieronder.

       Als pid kleiner is dan -1 dan wordt sig gezonden naar elk proces in de proces groep -pid.

       Als  sig 0 is dan wordt geen signaal verzonden, maar bestaans- en rechten controles worden
       nog uitgevoerd; dit kan gebruikt worden om te controleren op het bestaan van een proces ID
       of een proces groep ID die de aanroeper mag signaleren.

       Om  een  proces  toe  te  staan  signalen te versturen moet het ofwel geprivilegieerd zijn
       (onder Linux: bezit van de CAP_KILL capaciteit in de gebruiker naam ruimte  van  het  doel
       proces), of moet het echte of effective gebruiker ID van het versturende proces gelijk aan
       het echte of opgeslagen set-user-ID van het  doel  proces  zijn.  In  het  geval  van  een
       SIGCONT,  volstaat  het  als  de  zendende  en  ontvangende  processen tot dezelfde sessie
       behoren. (Historisch waren de regels verschillend; zie OPMERKINGEN.)

EIND WAARDE

       Bij succes (minstens een signaal werd verstuurd), wordt nul teruggegeven. Bij falen  wordt
       -1 teruggegeven en wordt errno overeenkomstig gezet.

FOUTEN

       EINVAL Een ongeldig signaal werd opgegeven.

       EPERM  Het  proces  heeft  geen toestemming om een signaal naar welk ontvangend proces dan
              ook te zenden.

       ESRCH  De doel proces of proces-groep bestaat niet. Merk op dat een  bestaand  proces  een
              zombie  kan  zijn,  een proces dat al beëindigd is, maar waar nog niet op gewait()d
              {gewacht} wordt.

VOLDOET AAN

       POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

OPMERKINGEN

       De enige signalen die verstuurd kunnen worden naar het proces ID 1, het init  proces,  zie
       die  voor  welke  init  expliciet  signaal  verwerkers installeerde. Dit werd gedaan om te
       verzekeren dat het systeem niet per ongelijk afgesloten word.

       POSIX.1 vereist dat kill(-1,sig)  sig verstuurd aan alle processen  waarnaar  het  huidige
       proces  signalen  mag  versturen, behalve mogelijk voor sommige implementatie afhankelijke
       systeem processen. Linux staat toe dat een proces signalen  aan  zichzelf  mag  versturen,
       maar op Linux signaleert de aanroep kill(-1, sig) het roepende proces niet.

       POSIX.1 vereist dat als een proces een signaal naar zichzelf stuurt, en de sturende thread
       heeft het signaal niet geblokkeerd en geen andere thread heeft  het  niet  geblokkeerd  of
       wacht  op  het  in  sigwait(3),  dan  moet  minstens  een  niet geblokkeerd signaal worden
       afgeleverd aan de sturende thread voor dat kill() terugkeert.

   Linux notities
       Over de diverse kernel versies  heeft  Linux  verschillende  regels  afgedwongen  voor  de
       rechten  die  een niet-geprivilegieerd proces vereist om signalen naar andere processen te
       sturen  In de kernels 1.0 tot 1.2.2 mocht een signaal verstuurd worden als het  effectieve
       gebruiker  ID  van de zender overeen kwam het het effectieve gebruiker ID van het doel, of
       als het echte gebruiker ID overeen kwam met het echte  gebruiker  ID  van  het  doel.  Van
       kernel 1.2.3 tot 1.3.77 mocht een signaal verstuurd worden als het effectieve gebruiker ID
       van de zender overeen kwam met ofwel het echte ofwel het effectieve gebruiker ID  van  het
       doel. De huidige regels, doe voldoen aan POSIX.1, werden aangepast in kernel 1.3.78.

BUGS

       In  de  2.6  kernels  tot  en  met 2.6.7 zat een bug die inhield dat bij het versturen van
       signalen naar een proces groep dat kill() faalde met de fout EPERM als de  aanroeper  niet
       de  rechten  had  om  een  signaal naar ieder (liever dan elk) van de leden van een proces
       groep. Ondanks het melden  van de fout,  was het signaal  afgeleverd  bij  alle  processen
       voor welk de zender de rechten had om te sturen.

ZIE OOK

       kill(1),   _exit(2),   pidfd_send_signal(2),   signal(2),  tkill(2),  exit(3),  killpg(3),
       sigqueue(3), capabilities(7), credentials(7), signal(7)

COLOFON

       Deze  pagina  is  onderdeel  van  release  5.13  van  het  Linux  man-pages-project.   Een
       beschrijving  van  het  project, informatie over het melden van bugs en de nieuwste versie
       van deze pagina zijn op https://www.kernel.org/doc/man-pages/ te vinden.

VERTALING

       De  Nederlandse  vertaling  van  deze  handleiding  is  geschreven   door   Jos   Boersema
       <joshb@xs4all.nl>,  Mario  Blättermann  <mario.blaettermann@gmail.com>  en  Luc Castermans
       <luc.castermans@gmail.com>

       Deze vertaling is vrije documentatie;  lees  de  GNU  General  Public  License  Version  3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  of later over de Copyright-voorwaarden. Er is
       geen AANSPRAKELIJKHEID.

       Indien U fouten in de vertaling van deze handleiding zou vinden,  stuur  een  e-mail  naar
       ⟨debian-l10n-dutch@lists.debian.org⟩.