4

我有一个 .NET windows 服务,它应该在每天 7:00 开始并在 23:00 停止,在后台连续运行。

虽然我可以对服务进行编码,使其在 23 到 7 点之间休眠,但我更喜欢系统配置(类似于unix 中的cron)。

如何在 Windows 7 上执行此操作?

请注意,如果系统在 7:00 之后启动,该服务应立即启动。

4

5 回答 5

7

1- 创建一个批处理文件,例如 starter.bat 并输入 NET START "SERVICE NAME"

2-在早上 7:00 在任务计划程序中创建一个任务,每天运行批处理文件,并记住在设置选项卡中错过计划启动后尽快检查运行任务,这样即使系统在早上 7 点之后启动它也会启动

对 stoper.bat 重复这些步骤,包括 NET STOP "SERVICE NAME" for 23:00 pm

于 2015-07-01T14:03:12.700 回答
1

您可以为此任务或计划任务使用Windows 任务调度程序。

Windows AT 命令也与 Unix 中的 Cron 非常相似

“AT 命令计划命令和程序在指定时间和日期在计算机上运行。计划服务必须运行才能使用 AT 命令。”

于 2013-08-25T10:54:33.310 回答
0

Seeing as you need another service to manage the scheduling of the services. Write a service, that hosts service like thingies. The host deals with starting and stopping, even restarting in the event of a crash. You can even get clever and get it to look up with "services" to load an run, and applet to see what's going on and tweak the schedule , register and unregister services with the host.

An approach anyway.

于 2013-08-25T12:31:01.800 回答
0

或者您可以编写另一个服务,让我们称它为守护程序,它始终运行并根据配置文件启动其他服务。

于 2013-08-25T11:17:29.900 回答
0

AT 命令在某些时候被弃用。这适用于服务器 2012 Windows 10。

schtasks /create /tn "StartWrapper" /tr "NET START '服务名称'" /sc daily /st 23:05 /RL HIGHEST

您必须使用引号才能正确转义命令。

于 2017-01-25T17:04:10.520 回答