William A. Rowe, Jr. wrote:
START httpd goes into it's goofy mode because it has no interactive behavior, but has no cmd to exit to, and cmd sees it's process is still running. start -k httpd should not exhibit this behavior. If there was a start -hide -k httpd, it wouldn't be offensive.
FYI - contrary to Stephan's claims, messages are displayed on the console. As Tom correctly diagnosed, the cmd.exe window's refresh/paint loop is dead.
I'm thinking of a scenario where the console *parent only* and on win32 might hold onto the stdin handle. I'll research and reply.
I'm becoming more certain that without stdout (we *do* launch with stdin to the console, because it's only deprived from the child) we have changed the behavior of console services. The most suspicious, there is one fewer thread (yup, I'm guessing it's a cmd.exe monitor thread) when run from start.exe rather than on this existing console. It's also possible that our WaitForMultipleObjects in the parent really needs to be MsgWaitForMultipleObjects. Stdin is never closed for the parent; about to experiment with that (it's also closed by prefork and worker MPM's at the point we enter the daemonize() phase). Bill