0

Windows サービスでアクティブになっている単純なサービスを作成しました。私の問題は、Windows サービスを介して cmd にアクセスできないことです。node-cmdサービス、 cmdアクセス、およびサービスの作成にnodejs Expressを使用し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 :)'

これを手動で実行すると、クロムが起動します。Windowsサービスとして使用すると、クロムは起動しませんが、共鳴しますThe server is working correctly :)

なんらかの理由で、Windows サービスで cmd コマンドが機能しませんか?

4

1 に答える 1

1

Windows Vista からサービス プロセスは、ユーザー プロセスが実行する別のセッション/デスクトップで実行されます (Microsoftホワイト ペーパーがあります)。

そのため、サービスから開始chrome.exeすると、サービス セッション内で実行され、ユーザーのデスクトップには表示されません。タスク リストをチェックして、タスクが開始されていることを確認できます。

于 2019-01-29T09:04:26.047 に答える