
kill(+Pid, +Signal)

   Send the signal Signal to the process number Pid

Arguments
   Pid                 Integer
   Signal              Atom or Integer

Type
   Operating System

Description
    Send the signal Signal to the process with process ID Pid.
    If Signal is 0, then only a check for existence of the process
    is performed, i.e. kill/2 fails if the process does not exist.
    A process ID of 0 can be used as a shorthand for the current process.

    This predicate is modelled after the UNIX system call kill(2).
    Signal names are derived from their official names by stripping
    SIG and using lower case, e.g. 'segv' for SIGSEGV.

    On Windows, a subset of the functionality is supported:
    
    Checking for process existence using signal 0
    Terminating a process using signal 'term'
    Sending signals 'abrt, 'fpe, 'ill, 'int, 'segv' or 'term'
	to the current process
    



Modes and Determinism
   kill(+, +) is semidet

Fail Conditions
   Fails if Signal is 0 and process Pid does not exist

Exceptions
     4 --- Pid or Signal are not instantiated.
     5 --- Pid is instantiated to a non-integer.
     5 --- Signal is instantiated to neither an integer nor an atom.
     6 --- Signal is not a signal name or number.
   170 --- Pid or Signal has an invalid value.
   170 --- No permission to access process Pid.

Examples
   
Success:
      [eclipse]: get_flag(pid, Pid), kill(Pid, 31).
      Signal 31
      Pid = 2929
      yes.

      [eclipse]: kill(2929, 0)
      yes.

      [eclipse]: kill(1234, term)
      yes.
Failure:
      [eclipse]: kill(9999, 0)
      no.


See Also
   exec / 2, exec / 3, exec_group / 3, get_flag / 2, wait / 2
