unix-exec-output-catcher 0.2.4

Library to run executables in a child process and catch STDOUT and STDERR output on UNIX-systems. std::process::Command is probably the better option. Use this source code as educational source how it could be done.
Documentation
Build #400308 2021-06-15 15:19:13
# rustc version
rustc 1.55.0-nightly (539d7bd39 2021-06-14)# docs.rs version
docsrs 0.6.0 (4924b95 2021-06-15)# build log
[INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace/builds/unix-exec-output-catcher-0.2.4/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace/builds/unix-exec-output-catcher-0.2.4/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "3221225472" "--cpus" "2" "--user" "1001:1001" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-j2" "--" "-Z" "unstable-options" "--emit=invocation-specific" "--resource-suffix" "-20210614-1.55.0-nightly-539d7bd39" "--static-root-path" "/" "--cap-lints" "warn" "--disable-per-crate-search", kill_on_drop: false }`
[INFO] [stdout] 32e64f1ad655df26f75f8f005f636e138573615da4fa0387b5c4d74213ba6930
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "32e64f1ad655df26f75f8f005f636e138573615da4fa0387b5c4d74213ba6930", kill_on_drop: false }`
[INFO] [stderr]  Documenting unix-exec-output-catcher v0.2.4 (/opt/rustwide/workdir)
[INFO] [stderr] warning: this URL is not a hyperlink
[INFO] [stderr]   --> src/exec.rs:59:14
[INFO] [stderr]    |
[INFO] [stderr] 59 | ///          https://unix.stackexchange.com/questions/315812/why-does-argv-include-the-program-name
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `<https://unix.stackexchange.com/questions/315812/why-does-argv-include-the-program-name>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(rustdoc::bare_urls)]` on by default
[INFO] [stderr]    = note: bare URLs are not automatically turned into clickable links
[INFO] [stderr] 
[INFO] [stderr] warning: this URL is not a hyperlink
[INFO] [stderr]   --> src/exec.rs:59:14
[INFO] [stderr]    |
[INFO] [stderr] 59 | ///          https://unix.stackexchange.com/questions/315812/why-does-argv-include-the-program-name
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `<https://unix.stackexchange.com/questions/315812/why-does-argv-include-the-program-name>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: bare URLs are not automatically turned into clickable links
[INFO] [stderr] 
[INFO] [stderr] warning: this URL is not a hyperlink
[INFO] [stderr]   --> src/lib.rs:35:13
[INFO] [stderr]    |
[INFO] [stderr] 35 |     /// See https://man7.org/linux/man-pages/man3/errno.3.html
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `<https://man7.org/linux/man-pages/man3/errno.3.html>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: bare URLs are not automatically turned into clickable links
[INFO] [stderr] 
[INFO] [stderr] warning: 3 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.75s
[INFO] running `Command { std: "docker" "inspect" "32e64f1ad655df26f75f8f005f636e138573615da4fa0387b5c4d74213ba6930", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "32e64f1ad655df26f75f8f005f636e138573615da4fa0387b5c4d74213ba6930", kill_on_drop: false }`
[INFO] [stdout] 32e64f1ad655df26f75f8f005f636e138573615da4fa0387b5c4d74213ba6930