docs / stdlib / process

Stdlib index
  1. Overview
  1. Captured-borrow migration worklist (3.3.3)
  2. Owned-bind migration worklist (8.2.7)
  3. Return-side title audit — the ride-through enumeration
  4. stdlib ownership audit
  5. stdlib ownership dispositions (plan 1.3.1 / 4.3.1)

codec

  1. Base64

codec / csv

  1. Csv

codec / json

  1. Json

collection

  1. ArrayList
  2. BPlusTree
  3. Cache
  4. Collectors
  5. HashMap
  6. HashSet
  7. Heap
  8. ImmutableList
  9. ImmutableMap
  10. ImmutableSet
  11. LinkedList
  12. RedBlackTree
  13. Sort

collection / ltm

  1. LtmBPlusTree

concurrent

  1. AtomicInt32
  2. AtomicInt64
  3. Channel
  4. FiberLocal
  5. Lock
  6. Mutex
  7. RwLock
  8. Semaphore
  9. Tasks

error

  1. Exception
  2. NoOptionalValueException
  3. RecoverableException
  4. Throwable
  5. UnrecoverableException

gfx

  1. Sampler
  2. Texture2D

hash

  1. Blake3
  2. DefaultHasher
  3. Hash
  4. MD5
  5. Sha1
  6. Sha256
  7. SipHash
  8. XXHash3

ifx

  1. BackendRegistry
  2. Window

io

  1. Buffer

io / file

  1. File
  2. FileInfo
  3. FileReader
  4. FileWriter
  5. Path
  6. Watcher

io / net

  1. IpAddress
  2. Server
  3. ServerBuilder
  4. SocketAddress
  5. TcpListener
  6. TcpStream
  7. UdpSocket

io / net / dns

  1. Dns

io / net / tls

  1. TlsConnection
  2. TlsListener

io / net / uri

  1. Uri
  2. UriBuilder

lang

  1. Guid
  2. Math
  3. Optional
  4. Pair
  5. Slice
  6. String
  7. StringBuilder

lang / stream

  1. ArrayStream
  2. Stream

math

  1. Camera
  2. Color
  3. DType
  4. Ray
  5. Rotation
  6. Tensor
  7. Transform

math / fft

  1. Fft

math / linalg

  1. LinAlg

math / npio

  1. Npy

math / poly

  1. Poly

math / random

  1. Generator

math / stats

  1. Stats

nucleo

  1. Columns — the Arrow-laid-out substrate
  2. Fused tensor expressions — Fuse
  3. Table — the lazy, typed dataframe
  4. Tape — define-by-run autograd
  5. Transform intrinsics — Grad, Vmap, Jit

process

  1. Command
  2. Process

reflect

  1. Class

search / distance

  1. Distance

search / fuzzy

  1. Matcher

search / ngram

  1. Index

session

  1. PackageInstallException
  2. Packages

time

  1. Clock
  2. DateTimeFormatter
  3. Duration
  4. Instant
  5. LocalDate
  6. LocalDateTime
  7. LocalTime
  8. Period
  9. ZonedDateTime
  10. ZoneId
  11. ZoneOffset

wire

  1. Compressor
  2. Decompressor
  3. Encoder
  4. Schema
  5. SchemaEncoder

xpu

  1. Device
  2. KernelBuffer
  3. KernelStream

xpu / mesh

  1. MeshSimplifier

Command

cajeta.process.Command — a subprocess command: a program + args, optional working directory, environment, stdin bytes, capture/timeout settings. Construction performs no OS work; run() spawns the child, performs the configured stdio, waits for exit, and returns a ProcessResult (a Command may be run more than once). For streaming interaction, wire pipes with pipeStdin/pipeStdout/pipeStderr and call start() to get a live Process handle without waiting.

String[] argv = heap String[2];
argv[0] = "/bin/echo";
argv[1] = "hello";
Command cmd = heap Command(#argv);   // ownership of argv moves in
cmd.captureStdout();
ProcessResult r #= cmd.run();

Methods

Signature
Command(#String[] argv)Build a command from a non-empty argv (argv[0] is the program, resolved against PATH); ownership of argv moves in
void workingDir(#String dir)Run the child in dir instead of inheriting the parent’s cwd
void environment(#String[] entries)Replace the child’s environment with entries ("KEY=VALUE" strings)
void stdinBytes(#int8[] data, int32 len)Feed data[0..len) to the child’s stdin (read to completion)
void captureStdout()Capture the child’s stdout into the result
void captureStderr()Capture the child’s stderr into the result
void timeoutMillis(int64 ms)Kill the child and flag timedOut if it runs past ms
void pipeStdin()Wire the child’s stdin to a pipe (for streaming start())
void pipeStdout()Wire the child’s stdout to a pipe (for streaming start())
void pipeStderr()Wire the child’s stderr to a pipe (for streaming start())
#ProcessResult run()Spawn the child, perform the configured stdio, wait for exit, return the result
#Process start()Spawn the child without waiting; returns a Process handle exposing piped stdio plus wait/kill/pid

⚑ = @EntryPoint

See also

Source: docs/stdlib/process/Command.md · 1 min read · 287 words