如何在后台连续运行c控制台应用程序
本文关键字:控制台 应用程序 运行 连续 后台 | 更新日期: 2023-09-27 18:20:53
我想知道如何每隔五分钟在后台运行一个c#程序。下面的代码不是我想作为后台进程运行的,但我想找到使用此代码实现这一点的最佳方法,这样我就可以在另一个代码上实现它。所以这个过程应该在增加5分钟之后运行。我知道我可以使用线程来做到这一点,但现在还不知道如何实现。我知道这是最好的方法如何在系统启动时运行控制台应用程序,而不在显示器上显示(后台进程)?这是在后台运行的,但我如何让代码以五分钟为增量运行
class Program
{
static void Main(string[] args)
{
Console.Write("hellow world");
Console.ReadLine();
}
}
这个应用程序应该连续运行,每5分钟发出一条消息
这不是你想要的吗?
class Program
{
static void Main(string[] args)
{
while (true) {
Console.Write("hellow world");
System.Threading.Thread.Sleep(1000 * 60 * 5); // Sleep for 5 minutes
}
}
}
为什么不直接使用Windows任务调度程序?
将其设置为以所需的间隔运行您的应用程序。它非常适合这种工作,而且你不必费力地强迫线程休眠,这会产生更多的问题,而它可以解决这些问题。
使用System.Windows.Threading.DispatcherTimer怎么样?
class Program
{
static void Main(string[] args)
{
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = new TimeSpan(0, 5, 0); // sets it to 5 minutes
timer.Tick += new EventHandler(timer_Tick);
timer.Start();
}
static void timer_Tick(object sender, EventArgs e)
{
// whatever you want to happen every 5 minutes
}
}
每X分钟"启动"一个新进程的最简单方法可能是使用Windows任务调度程序。
当然,您可以通过编程进行类似的操作,例如创建自己的服务,每X分钟启动一次控制台应用程序。
所有这些都是假设您实际上想要在下一次迭代之前关闭应用程序。或者,你可以一直保持它的活跃状态。您可以使用其中一个计时器类定期触发事件,甚至在非常简化的场景中使用Thread.Sleep
。。。。