【问题标题】:Windows task scheduler C#Windows 任务调度程序 C#
【发布时间】:2012-04-21 21:58:30
【问题描述】:

是否可以通过 C# 以某种方式与 Windows 任务调度程序交互?

我想做的是,我们的服务器有时需要重启,但我不想只是“硬重启”它。 因此,如果能够以某种方式在任务调度程序中获取我们应用程序的当前状态,以查看它是否正在运行,那就太好了。

如果它当前正在运行,那么我的重启应用程序应该等待 X 分钟再次检查。

但首先,我可以从我的任务中获取状态吗?

【问题讨论】:

  • 这听起来更像是 Powershell 的工作......

标签: c# windows task scheduler


【解决方案1】:

不必费心与任务调度程序交互。只需打开应用程序的远程处理(或 wcf)并检查它是否以这种方式运行。任务调度程序只是它可以启动的许多可能方式中的一种,因此这确实是一种检查应用程序是否实际运行的不可靠方式。您想知道您的应用程序是否正在运行,而不是任务调度程序是否启动了它。

Talking about communication between applications (WCF)

【讨论】:

  • 感谢您的回复。我不太确定这个 WCF。使用它会不是一个坏主意,还要检查其他应用程序是否正在运行? Process.GetProcessesByName(processName);
  • 在我的头顶上,我看不出有什么问题。无论哪种方式,听起来您都在正确的轨道上。你如何计算它正在运行,真的不重要。就像我说的那样,您只是不想让自己陷入只能检查某个进程是否启动它的状态。
  • 我要检查它是否正在运行的应用程序只能由任务调度程序启动,但我明白你的意思。如果应用程序正在运行而不是由任务调度程序启动,则运行状态将不准确。我想我会坚持使用 Process 解决方案。:)
猜你喜欢
  • 1970-01-01
  • 2021-07-20
  • 2014-01-23
  • 1970-01-01
  • 2014-06-06
  • 2011-06-12
  • 2010-10-13
  • 2016-10-02
  • 1970-01-01
相关资源
最近更新 更多