pid1 0.1.5

pid1 handling library for proper signal and zombie reaping of the PID1 process
Documentation
# List all recipies
default:
	just --list --unsorted

# Build image
build-image:
	cargo build --target x86_64-unknown-linux-musl --example simple
	cargo build --target x86_64-unknown-linux-musl --example zombie
	cargo build --target x86_64-unknown-linux-musl --example sigterm_handler
	cargo build --target x86_64-unknown-linux-musl --example sigterm_loop
	cargo build --target x86_64-unknown-linux-musl --example dumb_shell

	cp ../target/x86_64-unknown-linux-musl/debug/examples/simple etc
	cp ../target/x86_64-unknown-linux-musl/debug/examples/zombie etc
	cp ../target/x86_64-unknown-linux-musl/debug/examples/sigterm_handler etc
	cp ../target/x86_64-unknown-linux-musl/debug/examples/sigterm_loop etc
	cp ../target/x86_64-unknown-linux-musl/debug/examples/dumb_shell etc
	docker build etc -f etc/Dockerfile --tag pid1rstest

# Run test image
run-image:
	docker rm pid1rs || exit 0
	docker run --name pid1rs -t pid1rstest /simple --sleep 20

# Run zombie in the container
run-zombie:
	docker exec -t pid1rs zombie

# Test
test: build-image
	docker rm pid1rs || exit 0
	docker run --name pid1rs -t pid1rstest
	cargo test

# Run SIGTERM test
sigterm-test:
	docker rm pid1rs || exit 0
	docker run --name pid1rs -t pid1rstest sigterm_handler

# Send SIGTERM to container
send-sigterm:
	docker exec -it pid1rs kill 1

# Run SIGTERM loop test
sigloop-test:
	docker rm pid1rs || exit 0
	docker run --name pid1rs -t pid1rstest sigterm_loop

# Exec into that docker container
exec-shell:
	docker exec -it pid1rs sh