装了个 hyper-v 跑了个虚拟机, 还有个 syncthing, 一直 linux 习惯了 systemd 来注册服务来实现开机自动运行软件以及自行重启停止的服务.
这 windows 下不太熟悉, 开机自动启动简单 shell:startup 加进去快捷方式就可以, 但是如何运行过程中遇到服务意外终止自行重启服务呢?
1
TsubasaHanekaw 212 天前
sc create 命令
|
2
jpyl0423 212 天前 1
nssm
|
3
sola97 212 天前
always up
|
4
xgdgsc 212 天前
计划任务就行吧,syncthing 还可以用 https://github.com/Martchus/syncthingtray
|
5
kokutou 212 天前
nssm 太老了
https://github.com/winsw/winsw |
6
bouts0309 212 天前
winsw
|
7
ysc3839 212 天前 via Android 3
@TsubasaHanekaw sc create 需要程序响应服务事件,类似 systemd 的 notify 模式,程序没有适配用不了。
|
8
brucmao 212 天前 via iPhone
Nssm
|
9
expy 212 天前
我用的这个启动代理软件。
https://github.com/winsw/winsw |
10
PrinceofInj 212 天前
@kokutou winsw 倒是新,但是没发现比 nssm 有任何有点,反而配置不太方便。nssm 也就是界面字体比较丑,但是非常好用。下源码,自己编译了一个字体修改版,舒服多了。
|
12
Falcon1 212 天前
winsw +1
|
13
jsq2627 212 天前 1
讨厌 .NET 那一坨 runtime ,我选择 shawl
https://github.com/mtkennerly/shawl |
15
ljyst 212 天前
win11 好像也可以用 brew services
|
16
Jack927 212 天前
winsw +1
|
17
Eiden 212 天前
instsrv 和 srvany 工具可以把任何可执行文件包装成服务
|
18
viazure 212 天前
我用的 [shawl]( https://github.com/mtkennerly/shawl),一行命令搞定。
|
19
proxytoworld 212 天前
自己写个简单的代码,接入通知,在代码里面手动启动对应的 exe
|
21
ilovefaust 212 天前
winsw +1
|
22
e3c78a97e0f8 211 天前
我用 nssm
winsw 虽然新,但是他的终止服务是直接 TerminateProcess ,而不是 SIGINT (可以自己写,但是那要 winsw 干嘛),而且也不支持 virtual service account |
23
ysc3839 211 天前 via Android
@e3c78a97e0f8 Windows 没有 Unix 的信号机制,SIGINT 是通过控制台的 Ctrl+C 事件模拟的,而这个事件没法直接向某个进程发送,只能向同一控制台下的所有进程发送,父进程要和子进程在同一控制台内,可能是因为怕遇到某些问题,所以 winsw 就没这么干。除了上述方法,Win10 还可以用新出的 Pseudo Console ,但是兼容性就没那么好了。
|
24
e3c78a97e0f8 210 天前
@ysc3839 这能碰到什么问题,AttachConsole 然后 GenerateConsoleCtrlEvent 就好了。懒得做而已。
|