Skip to content
xz-devPublic

About

Cross-platform process-tree ownership and job control for CLI programs, built in Rust for pi and standalone use.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

113 Commits

Folders and files

Repository files navigation

procward

Procward owns a command's process tree and provides job control for CLI programs on Linux, FreeBSD, macOS and Windows. It cleans up owned work when the command exits or its owner disappears, while preserving the command's exit status. macOS cleanup is best-effort for observed descendants, not kernel containment.

Installation

Download your target's procward-<target>.zip and SHA256SUMS from Releases. Debug builds are named procward-<target>-debug.zip. Verify before extracting or running:

# Substitute the published version and your target.
tag=v0.1.1
target=x86_64-unknown-linux-gnu
asset="procward-$target.zip"
gh release download "$tag" --repo xz-dev/procward --pattern "$asset" --pattern SHA256SUMS
grep "  $asset$" SHA256SUMS | sha256sum --check -
gh attestation verify "$asset" --repo xz-dev/procward \
  --signer-workflow xz-dev/procward/.github/workflows/release.yml \
  --source-ref "refs/tags/$tag"
unzip "$asset"

Use shasum -a 256 on macOS or Get-FileHash -Algorithm SHA256 in PowerShell when sha256sum is unavailable. Put procward (procward.exe on Windows) on PATH. Full target list and source-pinned verification commands: CI and releases.

Usage

procward run -- command arg1 "two words"
procward run --grace 6s --fatal-grace 3s --cleanup-deadline 7500ms -- command

Arguments execute directly, without an added shell. Durations use integer s or ms; require 0 < fatal-grace <= grace < cleanup-deadline. Defaults are 6s, 3s and 7500ms. Use procward --help for options.

Background

Procward originated from the process-ownership needs of pi, its main intended consumer. This is a new standalone Rust implementation built on maintained crates and native OS facilities, not copied or translated pi or pi-env code.

Licensed under BSD-3-Clause.

About

Cross-platform process-tree ownership and job control for CLI programs, built in Rust for pi and standalone use.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages