Permalink
Please sign in to comment.
Browse files
ensure clean service shutdown and clean ^C, ^Z behavior.
When supervise(8) itself receives certain signals, they should be propagated to the service. When supervise(8) receives SIGTERM or SIGINT, propagate this to the supervised process by behaving as if `svc -dx` had been called. SIGTERM occurs during system shutdown. SIGINT can occur when svscan(8) is running in terminal foreground and gets ^C. In both cases, not propagating the signal to a setsid service will result in orphans that continue to run. When supervise(8) receives SIGTSTOP, for example because svscan(8) is running in terminal foreground and gets ^Z, behave as if `svc -p` had been called. Similarly, when supervise(8) receives SIGCONT, behave as if `svc -c` had been called. This ensures that setsid services stop and resume when running in foreground.
- Loading branch information...
0 comments on commit
4cc51d7