# %kill() function

The %kill() function sends the signal
specified in *signal* to the process *pid*.

**For Windows:**Not Supported

## Syntax

```
var = %kill(pid, signal)
```

## Description

All D3 processes normally catch
signals for their internal use. The built-in %pgetpid allows finding the PID of a process by knowing its port number (PIB).
Only `SIGUSR2` should be sent to a D3 process. Other
signals are used internally and can cause problems if used out of
context.

| SIGTERM | Logs off the D3 process and disconnects it. |
| --- | --- |
| SIGHUP | Logs off the D3 process, but leaves it connected to the D3 virtual machine. This behavior can be modified by providing a user written signal handler. |
| SIGINT | Emulates pressing the BREAK key, possibly sending the D3 process to the debugger. |
Signal numbers are defined in dm,bp,unix.h signal.h.

Tip: Signal numbers are very implementation specific.
Use the symbols defined in the include file: signal.h.

Warning: Sending a `SIGKILL` to an active D3
process can create data corruption.

## Example(s)

```
* Get its pid, and send hangup (SIGHUP=1) to it.
pib=32
pid=%pgetpid(pib)
if %kill(pid, 1) = -1 then
 print "Cannot logoff process ":pib
end
```

## See also

- [%pgetpid() function](https://d3codex.com/pickbasic-flashbasic/percent-pgetpid-function/)
- [FlashBASIC C functions overview](https://d3codex.com/pickbasic-flashbasic/flashbasic-c-functions-overview/)
- [cfunction statement](https://d3codex.com/pickbasic-flashbasic/cfunction-statement/)
- [kill command](https://d3codex.com/tcl/kill-command/)
- [PID](https://d3codex.com/definitions/pid/)
- [pid command](https://d3codex.com/tcl/pid-command/)
- [Port number](https://d3codex.com/definitions/port-number/)
- [trap command](https://d3codex.com/tcl/trap-command/)

---
Source: https://d3codex.com/pickbasic-flashbasic/percent-kill-function/ - part of the D3Codex reference.
