启用 windows 服务以使用命令行
Enable windows service to use command line
我编写了一个简单的服务,现在可以在我的 windows 服务上使用。我的问题是我无法通过 windows 服务访问 cmd。我正在为我的服务使用 nodejs express,node-cmd
用于 cmd 访问,node-windows
用于创建服务。我的应用是这样做的:
app.get('/check', (req, res) => {
cmd.run('start chrome');
res.status(200).send('The server is working correctly :)');
});
对于那些不明白这一点的人,它基本上意味着:
Listen for the GET '.../check' call, then do:
cmd: start chrome
return response 'The server is working correctly :)'
当我手动 运行 时,它会启动 chrome。当我将它用作 windows 服务时,它不会启动 chrome 但它会响应 The server is working correctly :)
出于某种原因,cmd 命令在 windows 服务中不起作用?
来自 Windows Vista 服务进程 运行 在用户进程 运行 的不同 session/desktop 中(有 Microsoft white paper)。
因此,如果您从服务启动 chrome.exe
,它将 运行 在服务会话中,并且在用户桌面上不可见。您可以查看任务列表以确保它已经开始。
我编写了一个简单的服务,现在可以在我的 windows 服务上使用。我的问题是我无法通过 windows 服务访问 cmd。我正在为我的服务使用 nodejs express,node-cmd
用于 cmd 访问,node-windows
用于创建服务。我的应用是这样做的:
app.get('/check', (req, res) => {
cmd.run('start chrome');
res.status(200).send('The server is working correctly :)');
});
对于那些不明白这一点的人,它基本上意味着:
Listen for the GET '.../check' call, then do:
cmd: start chrome
return response 'The server is working correctly :)'
当我手动 运行 时,它会启动 chrome。当我将它用作 windows 服务时,它不会启动 chrome 但它会响应 The server is working correctly :)
出于某种原因,cmd 命令在 windows 服务中不起作用?
来自 Windows Vista 服务进程 运行 在用户进程 运行 的不同 session/desktop 中(有 Microsoft white paper)。
因此,如果您从服务启动 chrome.exe
,它将 运行 在服务会话中,并且在用户桌面上不可见。您可以查看任务列表以确保它已经开始。