I don't think combining the two flags will work. @options[:signal] defaults to TERM if it's not set. Which would require you to set it on the command line like `rerun -s HUP -- blah`. This might work for restarts, but it would cause a delay in shutdown. i.e Ctrl+C. The stop method uses the same logic:

    def stop
      default_signal = @options[:signal] || "TERM"

So when stopping the process we are actually sending the restart signal instead of the TERM signal. We then have to wait until we time out to send the SIGINT or SIGKILL signal.

Unless I was understanding you incorrectly?