我无法让NSSM在桌面可见控制台的情况下运行批处理脚本。我已经尝试将其设置为交互式进程,但仍未显示。有什么想法吗?
下面是我创建服务的命令。
nssm install "MyNginxStartup" "C:\project\nginx-1.18.0\start_nginx_server.bat"
nssm set "MyNginxStartup" DisplayName "NGINX Startup Service"
nssm set "MyNginxStartup" Description "Starts NGINX Server on Windows startup."
nssm set "MyNginxStartup" AppExit 0 Exit
nssm set "MyNginxStartup" AppExit 1 Exit
nssm set "MyNginxStartup" AppExit 2 Exit
nssm set "MyNginxStartup" Start SERVICE_DELAYED_AUTO_START
nssm set "MyNginxStartup" Type SERVICE_INTERACTIVE_PROCESS发布于 2020-10-16 06:40:26
你不能。Windows服务运行在受保护的环境中,不能直接与你的桌面交互;为了向后兼容,有一些变通方法,但微软在Windows 10版本1803中完全删除了它们。您可以在此处找到有关此主题的更多信息:https://kb.firedaemon.com/support/solutions/articles/4000086228-what-is-session-0-isolation-what-do-i-need-to-know-about-it-
如果你只需要看看服务器在做什么,最好的解决方案是修改你的批处理文件,将服务器的输出记录到一个文件中,如果你需要交互性,你将不得不使用某种客户端来远程管理服务器(如果你真的很绝望,你可以使用这个:https://serverfault.com/questions/583517/start-program-on-computer-startup-when-nobody-is-logged-on-and-show-the-window-w)。
https://stackoverflow.com/questions/62961515
复制相似问题