1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#!/bin/bash pids=() cleanup() { for pid in "${pids[@]}"; do if kill -0 "$pid" 2>/dev/null; then kill "$pid" fi done exit 1 } trap cleanup SIGINT SIGTERM sxhkd & pids+=($!) xeyesee & pids+=($!) nbb & pids+=($!) wait