Click the Castor logo or press Ctrl Alt T to change theme.
# Documentation Welcome to the Castor Process documentation. These pages cover the `Process` class, process startup, standard streams, lifecycle inspection, exit codes, signals, and error-handling conventions. ## Where to start If you are new to the package, begin with [getting started](getting-started.html). It walks through installing the package, running a command, reading its output, passing input, and closing resources. ## Guides - [Starting processes](starting-processes.html) — How `Process::start()` maps to `proc_open()`, when to use array commands or string commands, and how to pass a working directory and environment variables. - [Process IO](process-io.html) — How `stdin`, `stdout`, and `stderr` integrate with `castor/io`, including `read_all()`, `copy()`, buffered readers, direct reads, and large-output considerations. - [Waiting and exit codes](waiting-and-exit-codes.html) — How to poll, wait, inspect normal exits, handle signaled processes, and terminate a child process. - [Error handling](error-handling.html) — The difference between process failures, non-zero exit codes, IO errors, EOF, startup failures, and cleanup failures. ## Reference - [Process API](process-api.html) — Complete reference for `Process::start()`, stream properties, lifecycle methods, termination methods, and `close()`.
Castor ecosystem