我尝试使用nssm服务编辑器GUI设置NSSM服务来启动node-js模块。这对于命令本身来说工作得很好,node-js也可以正常启动。问题是,当我试图将i/o选项卡上的输出重定向到日志文件时,将输出( stdout )和错误(stderr)设置为D:\qewd-up\ log \Log.txt日志文件出现在那里,但似乎充满了奇怪的字符(如中文),而不是显示在终端上的实际ASCII文本输出(如果不使用stdout并从那里启动node-js )。这样做的正确方法是什么?谢谢!
版本: 2.24.0.74配置:
PS C:\Program Files\nodejs> nssm get QEWD-UP Application
c:\Program Files\nodejs\node.exe
PS C:\Program Files\nodejs> nssm get QEWD-UP AppParameters
node_modules/qewd/up/run_native.js
PS C:\Program Files\nodejs> nssm get QEWD-UP AppDirectory
d:\qewd-up
PS C:\Program Files\nodejs> nssm get QEWD-UP AppExit
Parameter "AppExit" requires a subparameter!
PS C:\Program Files\nodejs> nssm get QEWD-UP AppAffinity
All
PS C:\Program Files\nodejs> nssm get QEWD-UP AppEnvironment
PS C:\Program Files\nodejs> nssm get QEWD-UP AppEnvironmentExtra
PS C:\Program Files\nodejs> nssm get QEWD-UP AppNoConsole
1
PS C:\Program Files\nodejs> nssm get QEWD-UP AppPriority
NORMAL_PRIORITY_CLASS
PS C:\Program Files\nodejs> nssm get QEWD-UP AppRestartDelay
0
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdin
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdinShareMode
2
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdinCreationDisposition
3
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdinFlagsAndAttributes
128
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdout
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdoutShareMode
3
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdoutCreationDisposition
4
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStdoutFlagsAndAttributes
128
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStderr
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStderrShareMode
3
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStderrCreationDisposition
4
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStderrFlagsAndAttributes
128
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStopMethodSkip
0
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStopMethodConsole
1500
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStopMethodWindow
1500
PS C:\Program Files\nodejs> nssm get QEWD-UP AppStopMethodThreads
1500
PS C:\Program Files\nodejs> nssm get QEWD-UP AppThrottle
1500
PS C:\Program Files\nodejs> nssm get QEWD-UP AppRotateFiles
0
PS C:\Program Files\nodejs> nssm get QEWD-UP AppRotateOnline
0
PS C:\Program Files\nodejs> nssm get QEWD-UP AppRotateSeconds
0
PS C:\Program Files\nodejs> nssm get QEWD-UP AppRotateBytes
0
PS C:\Program Files\nodejs> nssm get QEWD-UP AppRotateBytesHigh
0
PS C:\Program Files\nodejs> nssm get QEWD-UP DependOnGroup
PS C:\Program Files\nodejs> nssm get QEWD-UP DependOnService
Cache_d-_cache_smile
PS C:\Program Files\nodejs> nssm get QEWD-UP Description
NodeJS QEWD-UP
PS C:\Program Files\nodejs> nssm get QEWD-UP DisplayName
QEWD-UP Service
PS C:\Program Files\nodejs> nssm get QEWD-UP ImagePath
C:\Program Files\nodejs\nssm.exe
PS C:\Program Files\nodejs> nssm get QEWD-UP ObjectName
LocalSystem
PS C:\Program Files\nodejs> nssm get QEWD-UP Name
QEWD-UP
PS C:\Program Files\nodejs> nssm get QEWD-UP Start
SERVICE_AUTO_START
PS C:\Program Files\nodejs> nssm get QEWD-UP Type
SERVICE_WIN32_OWN_PROCESS发布于 2020-06-11 01:55:33
确保创建的文件的编码为UTF-8。我的现有文件被设置为"UCS-2 LE BOM“,因此它遵循相同的编码,并以非英语字符结尾。
但是,服务创建的新日志文件包含正确的UTF-8编码。
因此,要么手动更改编码,要么让nssm创建用于日志记录的新文件。
https://stackoverflow.com/questions/60313250
复制相似问题