如何写一个linux的定时程序脚本(代码)

如何写一个linux的定时程序脚本(代码),第1张

crontab -e添加一个定时任务就可以了

格式如下:

f1 f2 f3 f4 f5 program

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程式。

比如:

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分执行 echo "haha"

20 0-23/2 echo "haha"

首先,给你的web应用程序,添加一个“Globalasax”文件,这个类里面默认有一个“Application_Start”,我们就在这个方法里面添加定时程序的逻辑代码。这样,只要有一个人访问了这个web应用,就会启动这个定时程序。为了方便我们对定时程序的管理,我们单独编写一个类,专门用于控制定时程序。这个类中用的核心对象是SystemTimersTimer。下面说一下这个类设计的基本思路:ExecuteTask是一个公共的事件对象,以后调用者可以利用它来添加回调函数。_task是这个类型的唯一静态实例,调用者可以用Instance()方法读取它。_timer就是实现定时运行的对象,Interval是运行的间隔时间。public

class

Time_Task{

public

event

SystemTimersElapsedEventHandler

ExecuteTask;

private

static

readonly

Time_Task

_task

=

null;

private

SystemTimersTimer

_timer

=

null;

private

int

_interval

=

1000;

public

int

Interval

{

set

{

_interval

=

;

}

get

{

return

_interval;

}

}

static

Time_Task()

{

_task

=

new

Time_Task();

}

public

static

Time_Task

Instance()

{

return

_task;

}

public

void

Start()

{

if(_timer

==

null)

{

_timer

=

new

SystemTimersTimer(_interval);

_timerElapsed

+=

new

SystemTimersElapsedEventHandler(_timer_Elapsed);

_timerEnabled

=

true;

_timerStart();

}

}

protected

void

_timer_Elapsed(object

sender,

SystemTimersElapsedEventArgs

e)

{

if(null

!=

ExecuteTask)

{

ExecuteTask(sender,

e);

}

}

public

void

Stop()

{

if(_timer

!=

null)

{

_timerStop();

_timerDispose();

_timer

=

null;

}

}}有了这个类型,我们可以在Application_Start方法中轻松的实现定时了。

c语言的要不要? 要的话,我可以给你一份。

你看看,这样行不行,不行在给我说!

#include <reg51h>

unsigned char data sec100,sec;

unsigned char data Delay_Time;

sbit Out_k = P1 ^ 0 //输出引角定义,你可以跟据你所要的来定义

/定时器及各数据初始化程序/

void int_time() {

P1=0xff;

TMOD=0x11;

TH1 =0xdc;

TL1 =0x00;

TCON = 0x01;

IE = 0x8a; // 使能timer0,1 中断

sec = 00;

sec100 = 0;

Delay_Time = 60; //所延时间为60分钟

}

//

void inc_sec()

{

sec++;

Out_sec=~Out_sec; //秒闪烁

if(sec > 59)

{

sec = 0;

Delay_Time--; //所延时时间减一

}

}

//

void main() {

int_time();

TR1=1;

while (1) {

if (Delay_Time==0) //判断延时时间到没

Out_k = 0; //如果时间到,则开启输出

; //否则,空循环

}

}

//

void timer1() interrupt 3 {

TH1 = 0xdc; //定时为9216(uS)

sec100++; // 每1000us中断一次,加1毫秒

if(sec100 >= 100) { //每100毫秒为一秒,调用秒加一程序

sec100 = 0;

inc_sec();

}

}

//

定时关机windows自带关机命令 比如你的电脑要在

22:00关机,可以选择“以管理员的身份运行cmdexe

”,输入“at 22:00 Shutdown -s”, 这样,到了

22点电脑就会出现“系统关机”对话框,默认有60秒

钟的倒计时并提示你保存工 作。

在 Win7 中,shutdown实现自动关机的方法如下:

开始->运行->cmd

举例说明一:要在 晚上23:00准时关机你可以输入

如下命令:

at 23:00 shutdonw -s

这个简单得很,使用批处理的Goto循环就可以做到!~

例如以下代码:

@echo off

:Begin

Start 这里输入你要定时启动的程序的路径(路径含有空格的话需要把路径用引号 " " 括起来)

rem 下面这行是延时代码,300是秒做单位的,300秒就是5分钟,需要多长时间自改一下

@Ping 127001 -n 300

Goto Begin

;   输入代码 Private Sub Timer _Tick(ByVal sender As System Object ByVal e As System EventArgs) Handles Timer Tick xianzaiTime = TimeOfDay If RadioButton Checked Then If DateDiff(Microsoft VisualBasic DateInterval Second xianzaiTime entTime) < Then 用DateDiff函数判断是否到时间了 End IfEnd IfPowerOff() 关闭计算机End Sub好了基本上一个定时关机程序就完成了 接下来加一个超级链接吧!当然对于高手来说可是废话 但是对于新手来说这也是必备的 这个超级链接当然是我们最喜欢的天极网开发频道了 先创建一个Label控件吧 把它托到窗体上 将text属性设置为天极网开发频道如图 接下来需要输入代码了 双击窗体Form 进入Public Class Form 事件代码 Private Declare Function ShellExecute Lib shell dll Alias ShellExecuteA (ByVal hwngnd As Integer ByVal lpOperation As String ByVal lpFile As String ByVal lpParameters As String ByVal lpDirectory As String ByVal nShowCmd As Integer) As Integer如图 双击刚才添加的label属性text:(天极网开发频道)中输入以下代码 Private Sub Label _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles Label ClickShellExecute( open //dev yesky CStr( ) CStr( ) )End SubEnd ClassOK全部搞定 按F 键运行如图 所示 选择相应选项后点击(关闭计算机启动定时器按钮)就可以了 现在程序将按照你所设定的时间而启动关闭计算机选项 图 lishixinzhi/Article/program/net/201311/15693

窗口放一timer1

关键是这句IEDialogHwnd = FindWindow("ThunderRT6FormDC", "盛大魔界II 帐号注册机")

要用SKY++ 获得程序主窗口的类 和标题

当前程序 类为ThunderRT6FormDC 标题为盛大魔界II 帐号注册机

Timer1Interval = 3000 表示3秒 定时器每三秒运行一次

将以下代码复制入

Option Explicit

'用于查找窗口的API

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Const WM_CLOSE = &H10

Function CloseSystemConfirmDlg() As Boolean

Dim IEDialogHwnd As Long

Dim subHwnd As Long

Dim tempmsg As String

IEDialogHwnd = FindWindow("ThunderRT6FormDC", "盛大魔界II 帐号注册机")

DoEvents

If IEDialogHwnd Then

CloseSystemConfirmDlg = True

Call SendMessage(IEDialogHwnd, WM_CLOSE, 0, 0)

End If

End Function

Private Sub Form_Load()

Timer1Interval = 3000

Timer1Enabled = True

End Sub

Private Sub Timer1_Timer()

Call CloseSystemConfirmDlg

End Sub

以上就是关于如何写一个linux的定时程序脚本(代码)全部的内容,包括:如何写一个linux的定时程序脚本(代码)、如何让asp.net应用程序定时自动执行代码、定时程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10115851.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存