cont_name=${zsv_name#*.} cont_dir=/var/containers/$cont_name cwd=$cont_dir run=( runc run $cont_name ) runc_signal() { cd $cwd || exit $? case $zsv_mode in (p) exec runc pause $cont_name;; ([cdx]) runc resume $cont_name; runc kill $cont_name CONT; exit 1;; #(u) exec runc kill $cont_name ;; #(o) exec runc kill $cont_name ;; (h) exec runc kill $cont_name HUP;; (a) exec runc kill $cont_name ALRM;; (i) exec runc kill $cont_name INT;; (q) exec runc kill $cont_name QUIT;; (1) exec runc kill $cont_name USR1;; (2) exec runc kill $cont_name USR2;; (t) exec runc kill $cont_name TERM;; (k) exec runc kill $cont_name KILL;; esac exit 2 } local hdl for hdl in p c d x h a i q 1 2 t k x; do handler[$hdl]=runc_signal done # vim: ft=zsh noet ts=4 sts=4 sw=4