{
  "slug": "tee-system-call",
  "term": "tee (Linux system call)",
  "aliases": [
    "tee(2)"
  ],
  "definition": "The Linux tee system call duplicates pipe-buffer data into another pipe without consuming the original pipe's data.",
  "note": "Duplication retains references rather than creating independent payload snapshots. This is distinct from the user-facing tee command and from trusted execution environments abbreviated TEE. [tee]\n\nIn a sequential source-mutation experiment, two consumers of duplicated file-backed data observed different versions; a buffered-input control kept matching bytes. This demonstrates why a separate hashing branch cannot replace a source-stability protocol. [hesela-lifetime]",
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "related": [
    "splice",
    "sendfile",
    "zero-copy",
    "checksum"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "tee",
      "title": "Linux man-pages 6.19: tee(2), duplication without consuming and shared references",
      "url": "https://www.man7.org/linux/man-pages/man2/tee.2.html",
      "accessed": "2026-10-17"
    },
    {
      "id": "hesela-lifetime",
      "title": "Hesela: Two consumers can disagree after tee(2)",
      "url": "https://hesela.com/analyses/zero-copy-source-lifetime/#tee-consumers",
      "accessed": "2026-10-18"
    }
  ],
  "updated": "2026-10-18"
}
