← Back to context

Comment by ww520

1 year ago

Still has the same problem even with type=forking. Only way to get it working was RemainAfterExit=yes

I think you actually probably want type=oneshot (and also RemainAfterExit=yes) for the kind of service you're describing

  • This was ultimately what I needed to do when I wrote a systemd service that managed some firewall rules. It really was a footgun though, what with having essentially different meanings/purposes for ExecStop whether you’re doing a Type=forking, a Type=oneshot, or a Type=oneshot with RemainAfterExit=yes.

    And relatedly, I honestly have no idea when I’d want to use ExecStartPre, or multiple ExecStarts, or ExecStartPost, and so on.

    • It's been enlightening to me to read through some of the distro-provided .service files to see what can be done, with services I'm more of less familiar with.