It was proposed on a CFTalk thread that one could CFEXECUTE a bat file on Windows to restart the ColdFusion MX Service by having the bat file first kill the jrun.exe processes then issue a NET START command to start the ColdFusion MX Service. The problem with this approach is that the bat file runs as a child process to the jrun.exe process. When the jrun process terminates, so does the bat file, leaving it unable to complete. Execution never gets beyond the kill jrun step.

A year and a half ago I proposed using the Windows AT scheduler service from CFML to schedule a restart of ColdFusion. The scheduler runs independently of the jrun.exe process and is not affected by a ColdFusion shutdown. Read more about it.

On Unix and Linux calling a shell script via CFEXECUTE to restart the ColdFusion server won't work because ColdFusion most often runs as a non-privileged user such as nobody. If you were to configure sudo access to start ColdFusion, then the non-privileged user would be able to perform the restart. This is of course a security risk, but no more so that that of Windows where ColdFusion usually runs as the privileged user System by default.