2016-09-27 29 views
1

我在Windows Server 2012R2上運行。當用戶通過設置運行鍵登錄時,在後臺運行Windows Node.js腳本

我有一個node.js腳本,我想在用戶執行登錄時運行。

爲此,我將命令設置爲在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run註冊表路徑中運行。

我設置命令:

/path/to/node/node /path/to/node/script args 

這工作得很好,但它會催生出命令的輸出終端,而我想在後臺運行此命令,並從任何命令終端分離。

我試着來代替以前的命令: 啓動/ B /路徑/到/節點/節點/路徑/到/節點/腳本ARGS

但在這種情況下,沒有證據表明該劇本甚至開始。

我還試圖在一個.BAT腳本來包裝下面的命令:

開始\ b節點腳本ARGS

設置在Run鍵腳本的名稱:在這種情況下,我可以看到終端閃光,但後來腳本不再運行(我想腳本被執行,但只要父進程終止,它就會停止)。

我想避免在Windows服務中轉換腳本,只要一個簡單的解決方案是可能的。

只要滿足我的要求(當用戶登錄時在後臺運行腳本),不使用運行註冊表項的解決方案也很好。

回答

1

其實這是很容易,使用forever.js模塊

安裝模塊使用

forever start main.js」後

將開始運行作爲後臺進程

+1

我確實能夠永久使用.js,但我必須在註冊表項中指定完整路徑,例如:'C:\ Users \ Administrator \ AppData \ Roaming \ npm \永遠啓動...'。我還注意到在任務管理器中看到兩個與節點相關的進程之前,閃爍的終端(立即消失)。 我想這個解決方案可以被認爲是可以接受的,謝謝。 – NoUserFound