If i use taskkill on windows to shutdown caddy before restarting eg.
taskkill /IM caddy.exe /F
Does Caddy shutdown gracefully or will it potentially cause loss of data etc?
If i use taskkill on windows to shutdown caddy before restarting eg.
taskkill /IM caddy.exe /F
Does Caddy shutdown gracefully or will it potentially cause loss of data etc?
Some quick research indicates that /F is the flag for forceful termination, which would imply that Caddy won’t be given the opportunity to gracefully shutdown, but I could be wrong as I don’t run Caddy on Windows myself. Am interested to hear from someone who knows more about it.
I don’t know, but I do know that Caddy will gracefully shut down on Windows given an interrupt (SIGINT on Unix); but Windows doesn’t really have the concept of “Signals” AFAIK.
Any hint on how I can sent it an interrupt, or is that not a valid concept on Windows?
I can confirm that it doesnt shutdown gracefully, since any
shutdown
directives are not executed.
Something I found on Google:
@nixtren Thanks it all seems a bit more complicated than it needs to be. I think I’ll just live with the consequences of a forced shutdown.
Hi Toby,
Indeed, looks like some complicated stuff. But it seems someone made a third-party app to do it easily:
SendSignal <pid>
You can check it here:
http://www.latenighthacking.com/projects/2003/sendSignal/
You just have to get Caddy’s PID and run that command (SendSignal) instead of taskkill. I don’t know how you get the PID on Windows, but on Linux you would do something like “pgrep caddy | xargs SendSignal”. Maybe you could download pgrep and xargs compiled for Windows so you could copy-paste the command I wrote
Check this for running Linux commands directly on Windows:
(untested, but my logic should work. Or just search on Google how to get the PID of a process on Windows)
If you start caddy with the -pidfile directive it writes a file to disk with the pid of the process so I can get that.
I’ll give it a try.