killpg(2)

killpg2

Send signal to a process group

Usage

#include <sys/types.h>

#include <signal.h>

int

killpg(pid_t pgrp, int sig);

Library

Standard C Library (libc, -lc)

Overview

The killpg() function sends the signal sig to the process group pgrp. See sigaction(2) for a list of signals. If pgrp is 0, killpg() sends the signal to the sending process's process group.

The sending process must be able to kill() at least one process in the receiving process group.

Return values

The killpg() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

Errors

The killpg() function will fail and no signal will be sent if:

[EINVAL]

The sig argument is not a valid signal number.

[ESRCH]

No process can be found in the process group specified by pgrp.

[EPERM]

kill() returns EPERM for all processes in the process group.

Releases

87 releases since FreeBSD 2.0.5-RELEASE; the text changed 44 times.

  1. 2.0.5–2.1.7.1
  2. 2.2.2–2.2.5
  3. 2.2.6–3.4
  4. 3.5–3.5.1
  5. 4.0
  6. 4.1–4.3
  7. 4.4
  8. 4.5–4.7
  9. 4.8–4.11
  10. 5.0
  11. 5.1–6.1
  12. 6.2–6.3
  13. 6.4
  14. 7.0
  15. 7.1
  16. 7.2
  17. 7.3
  18. 7.4
  19. 8.0
  20. 8.1
  21. 8.2
  22. 8.3
  23. 8.4
  24. 9.0
  25. 9.1
  26. 9.2
  27. 9.3
  28. 10.0
  29. 10.1
  30. 10.2
  31. 10.3
  32. 10.4
  33. 11.0
  34. 11.1
  35. 11.2
  36. 11.3
  37. 11.4
  38. 12.0
  39. 12.1
  40. 12.2
  41. 12.3
  42. 12.4
  43. 13.0–13.2
  44. 13.3–14.5
  45. 15.0–16.0

History

The killpg() function appeared in 4.0BSD.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.