以 windows 服务的方式运行,避免误关闭之类的操作
1
fhy1994 2021-06-11 08:51:59 +08:00
在 win 上用 nssm 跑过 nginx 、php-cgi 、python 打包的可执行程序
|
2
a342191555 2021-06-11 08:54:54 +08:00 via iPhone
|
3
iminto 2021-06-11 08:56:03 +08:00 1
用自带的 sc create 命令就行,也可以用一些第三方的 wrapper,比如 winsw
|
4
catcn 2021-06-11 08:59:38 +08:00
2 楼的这个是正解,用过。
|
5
chenyi 2021-06-11 09:01:07 +08:00
nssm 用过,可以实现
|
6
Rwing 2021-06-11 09:04:02 +08:00 2
不考虑一下 C#吗,也可以跨平台,独立文件分发,不用运行时。最主要的,可以很爽的用泛型 🙂
|
7
zengming00 2021-06-11 09:08:01 +08:00
如果你还玩 nodejs 的话,pm2 是个不错的选择,因为在所有平台都通用
直接一条命令搞定(注意你的程序与参数之间有两个减号) pm2 start 你的程序 -- 传递给你程序的参数 |
8
tsungkang 2021-06-11 09:09:17 +08:00
纯粹只考虑 windows 服务的话,可以直接 golang.org/x/sys/windows/svc 一把梭
|
9
araraloren 2021-06-11 09:14:04 +08:00
@Rwing 很爽的泛型 哈哈。。
|
10
anubu 2021-06-11 09:27:54 +08:00 1
对比过 nssm 和 winsw,nssm 虽然较久没更新,但更好用。最简单的方法是使用 powershell 命令,两三句命令就能搞定,如果不考虑大量程序管理维护的话,是不错的方法。
|
11
Jirajine 2021-06-11 09:29:24 +08:00 via Android
|
12
dream4ever 2021-06-11 09:31:30 +08:00
@zengming00 PM2 +1,公司买的阿里云服务器装的是 Windows Server 2012,之前解决了 PM2 在注销远程桌面连接后会自动退出的问题后,就彻底省心了,PM2 从几年前用到现在,很方便。
|
14
mmtromsb456 2021-06-11 11:23:55 +08:00
@anubu #10
powershell 说的是 New-Services 这个 cmdlet? https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-service?view=powershell-7.1 |
15
PhaSelEza 2021-06-11 11:28:19 +08:00 1
如果只是要后台运行,而且程序不需要接受命令行输入的话,可以用:
if len(os.Args) == 1 { exec.Command("cmd.exe", "/C", "start", "/B", os.Args[0], "flag").Run() os.Exit(0) } syscall.NewLazyDLL("kernel32.dll").NewProc("FreeConsole").Call() |
16
0o0O0o0O0o 2021-06-11 11:31:29 +08:00 via iPhone
建议用 winsw 专门来做这个事
|
17
johnsona 2021-06-11 11:36:17 +08:00 via iPhone
nssm
|
18
anubu 2021-06-11 11:46:58 +08:00
@mmtromsb456 是的,简单够用,无额外依赖。
|
19
g00001 2021-06-11 14:57:27 +08:00
|
20
emric 2021-06-11 15:03:37 +08:00
我写过 bat 就那么几句命令,简单的很。
https://gist.github.com/17/8853168 |
21
bigtan 2021-06-11 15:24:14 +08:00 via iPhone
@mmtromsb456 一直用 nssm,这个 cmdlet 感觉更优雅
|
22
noroot 2021-06-11 17:04:41 +08:00
|
24
ch2 2021-06-11 18:00:55 +08:00
nssm 是最好的,各种都试过
|
25
lqzhgood 2021-06-12 17:28:32 +08:00 via Android
Pm2 windows 上服务有坑~
只能说可用 |
26
loveqianool 2022-08-09 12:07:38 +08:00
|