tcgetpgrp(3)

tcgetpgrp3

Get foreground process group id

Usage

#include <unistd.h>

pid_t

tcgetpgrp(int fd);

Library

Standard C Library (libc, -lc)

Overview

The tcgetpgrp() function returns the value of the process group ID of the foreground process group associated with the terminal device. If there is no foreground process group, tcgetpgrp() returns an invalid process ID.

Errors

If an error occurs, tcgetpgrp() returns -1 and the global variable errno is set to indicate the error, as follows:

[EBADF]

The fd argument is not a valid file descriptor.

[ENOTTY]

The calling process does not have a controlling terminal or the underlying terminal device represented by fd is not the controlling terminal.

Releases

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

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

Standards

The tcgetpgrp() function is expected to be compliant with the IEEE Std 1003.1-1988 (“POSIX.1”) specification.

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