unix
8 minpipefail, Signals, and Unix Process Management
Unix is full of tiny control primitives. Learn how `set -o pipefail`, process signals, and clean lifecycle management keep shell pipelines reliable and debuggable.
Loading page...
unix
8 minUnix is full of tiny control primitives. Learn how `set -o pipefail`, process signals, and clean lifecycle management keep shell pipelines reliable and debuggable.
unix
7 minFollow signals from a container stop through shell wrappers and child processes, and build shutdown behavior that preserves work.
devops
5 minDesign a release as a controlled change to code, configuration, and data, with explicit health checks and a recovery plan that matches what can actually be reversed.
devops
8 minBuild an operational view around user-visible latency, traffic, errors, and saturation instead of dashboards full of disconnected metrics.
Q&A
Q&AReplacing the shell with the service improves signal delivery and exit-code propagation.
Without exec, the shell can remain as the parent process and may not forward termination signals as intended. `exec service ...` replaces the shell, making the service the main process so it receives the container stop signal directly and its exit status is reported. A wrapper supervising multiple children must explicitly forward signals and reap them.
distributed systems
8 minDistinguish event causality from wall-clock order with Lamport and vector clocks.
Q&A
Q&AInodes may be exhausted, or deleted files may still be held open by running processes.
Compare df -h with df -i. If block usage and directory totals disagree, inspect open-but-deleted files with lsof +L1. A process retains allocated blocks until it closes the file; restart or signal the owning service through its safe lifecycle after confirming the file is disposable.
Q&A
Q&AThe container cannot construct a dependency cycle safely, especially when both beans require constructor injection.
Bean A needs B while B needs A, so neither constructor can complete first. Treat the exception as an ownership/design signal: extract the shared responsibility, invert a dependency, or communicate through an event. Lazy lookup can defer resolution but does not remove the cycle or its coupling.