最近写了一些 python 脚本,主要是用来监控 windows 服务器运行情况,但脚本会因不明原因死掉了,结束了进程。
不知道在 windows 上有没有一种软件或者方法能够让脚本掉了能重新打开执行。
1
ik 2021-03-19 18:35:51 +08:00 via iPhone
脚本是卡死还是退出?
退出的话可以用计划任务 频率自定, 有个选项禁止启动多个实例 |
3
SenLief 2021-03-19 18:39:04 +08:00
supervisor
pm2 |
4
systemcall 2021-03-19 18:39:57 +08:00
用服务就可以了
自己去看 Windows Docs,里面搜一下“服务” 不过要用 dotnet 自己写 |
6
superrichman 2021-03-19 18:53:16 +08:00 via iPhone
pm2
|
7
Kiriya 2021-03-19 18:56:57 +08:00
用计划任务
|
8
chinvo 2021-03-19 18:57:48 +08:00 via iPhone 1
服务啊,有 failure recovery
如果是需要重复运行的,用计划任务 |
9
felixcode 2021-03-19 19:01:31 +08:00 via Android
有软件能把普通的程序或脚本注册成服务,通过系统里的服务界面进行管理。
或者命令提示符方式也能注册服务。 |
10
wolong 2021-03-19 22:08:16 +08:00
再写一个 python 脚本来监控这个脚本?
|
11
ysc3839 2021-03-19 22:34:43 +08:00
如果你说的“守护进程”指的是 systemd service 这种的话,那 Windows 有自带服务管理器,可以在服务异常停止后自动重新启动。不过这个服务没有 systemd service 好用,因为要应用程序自己去对接服务接口,不过也有工具把普通的程序包装成服务。
|
12
crab 2021-03-19 22:39:55 +08:00 1
在写一个脚本监视这个脚本进程是否存在。
|
13
franklee628 2021-03-19 22:43:31 +08:00 2
AlibabaPaladin.exe AlibabaProtect.exe
|
14
jim9606 2021-03-19 23:41:42 +08:00
我一般用计划任务来做这个事,触发器设置一个比较高的频率(例如每分钟),高级设置里设置任务已经运行时“请勿启动新实例”。
|
15
ijrou 2021-03-19 23:45:26 +08:00
作何服务互相监控互相启动。。。
|
16
kerro1990 2021-03-19 23:53:23 +08:00 via iPhone
安装为系统服务
|
17
blueboyggh 2021-03-19 23:55:10 +08:00 1
用 NSSM 把脚本安装成服务,加自恢复
|
18
autoxbc 2021-03-20 03:30:10 +08:00 1
可以加几行代码让程序自我守护,这样不依赖外部工具还能跨平台
|
19
imycc 2021-03-20 03:59:02 +08:00 1
搜一下 winsw 或者 nssm,可以把你的进程包装成个后台服务
计划任务也有重启的选项,但计划任务更侧重于一次性、定时这样的任务。 |
20
internelp 2021-03-20 08:49:41 +08:00
|
21
ch2 2021-03-21 01:54:30 +08:00 via iPhone
Windows 用 nssm 就是了
|