# LibTmux::ProcessJob

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** Perl
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-perl/blob/352715a4fa66a96eed7763b90daaa536aa2f121d/packages/core/lib/LibTmux/ProcessJob.pm#L1
- **Page:** https://libtmux.org/en/perl/latest/reference/libtmux-processjob/

```
package LibTmux::ProcessJob;
```

Shared owned process-supervision boundary

## Members

### Other members

- [`cancel`](/en/perl/latest/reference/libtmux-processjob-cancel/) (method): Request cleanup without blocking. Cancellation can follow dispatch and does not imply rollback or completed reaping.
- [`cleanup_complete`](/en/perl/latest/reference/libtmux-processjob-cleanup_complete/) (method): True only after a valid supervisor result proves owned program cleanup.
- [`consume`](/en/perl/latest/reference/libtmux-processjob-consume/) (method): Accumulate bounded result octets. Malformed or excessive data is a failure.
- [`finish`](/en/perl/latest/reference/libtmux-processjob-finish/) (method): Decode the complete result after EOF and supervisor exit. Return one [`LibTmux::CommandResult`](/en/perl/latest/reference/libtmux-commandresult/) or throw a typed error.
- [`pid`](/en/perl/latest/reference/libtmux-processjob-pid/) (method): Return the supervisor PID. It differs from the program PID.
- [`start`](/en/perl/latest/reference/libtmux-processjob-start/) (method): Start a supervised literal command using the same arguments as [`"run" in LibTmux::Transport`](/en/perl/latest/reference/libtmux-transport-run/). This explicit operation performs I/O.
- [`take_result_handle`](/en/perl/latest/reference/libtmux-processjob-take_result_handle/) (method): Transfer the result pipe exactly once. Its reader owns closing that handle.
- [`wait`](/en/perl/latest/reference/libtmux-processjob-wait/) (method): The synchronous reader/reaper. A loop-owned job refuses blocking wait. Async adapters supply a spawn/reap callback and retain jobs through EOF plus the matching exit notification. Dropping a job closes its parent guard but does not synchronously wait; owners must complete their cleanup protocol.
