HOME 生活记录运维/编程
作者/来源:yixinu.com
栏目:运维/编程
日期:2012-04-10 05:44:27

任务控制 


在后台运行进程

[root@fedora14 ~]# vim aa &
[2] 1720
[root@fedora14 ~]# 

临时暂停任务:ctrl+z

[root@fedora14 ~]# vim file

~
~
~
"file" [New File]                                                                        0,0-1         All
##  按  ctrl + z 后
[1]   Killed                  vim aa

[2]+  Stopped                 vim file
[root@fedora14 ~]# 

 

后台管理或挂起任务

    jobs  查看挂起的进程

    bg %jobsnum  恢复进程后台

    fg %jobsmum  恢复进程前台

example: 查看当前挂起的进程,并用恢复前台


[1]-  Stopped                 vim aa

[2]+  Stopped                 vim file
[root@fedora14 ~]# jobs
[1]-  Stopped                 vim aa
[2]+  Stopped                 vim file
[root@fedora14 ~]# fg %2
vim file

~
~
~

example:杀死jobs挂起的进程


[root@fedora14 ~]# jobs
[1]+  Stopped                 vim aa
[root@fedora14 ~]# kill -9 %1

[1]+  Stopped                 vim aa
[root@fedora14 ~]# jobs
[1]+  Killed                  vim aa
[root@fedora14 ~]# jobs
[root@fedora14 ~]# 



计划任务



一次计划任务  at

    at <time> 进入任务编排模式 ,在使用at前必须  service atd start,ctrl+d退出at任务编排

    <time>的时间格式:

        at now+2minutes

        at 4pm +3days

        at 10:00am 2012-03-29

        at 10:00 tomorrow

        at 10:00am

        at 17:30 today

        at now +5 hours


    at -l 查看正在进行的任务

    at -e 删除任务

    at -f <filename> 17:50 today  或者

    at < <filename> 17:50 today

         <filename> 为文件名,可以将多个任务写到这个文件里面



example:


[root@fedora14 ~]# at -f at.file 14:48
job 11 at Tue Apr 10 14:48:00 2012
[root@fedora14 ~]# date
Tue Apr 10 14:47:36 PDT 2012
[root@fedora14 ~]# hello af

[root@fedora14 ~]# cat at.file 
echo "hello af" > /dev/pts/0
[root@fedora14 ~]# 




周期性计划任务 crond进程


crond 搜索 crontab文件(/var/spool/cron/目录下以用户名命名的文件) 并载入内存,如果用户没有设置该文件 ,直接进入休眠状态,如果有,则每分钟醒来一次

crontab -e 编辑当前contab文件

crontab -l 列出文件 ,查看任务

crontab -r 删除文件

crontab 文件的格式,由6部分组成  

00 07 25 12 * /bin/echo "111111111"

00  一小时中的哪一分钟 值为0-59

07 一天中的哪一小时 值为0-23

25 一个月中的一天 值为1-31

12 一年中的哪一个月 值为1-12

* 为星期,一周中的某一天 值为 0-7,0和7均为星期日

/bin/echo 为执行的命令,注意:命令必须写全路径

以上六项都不能为空,时间字段中不需要指定的项用用通配符 * 指定,表示任何时间,可以用<,>表示多个值,用<->表示一个范围,<*/5>表示和5相匹配的值

其它格式语法:

1,5,6 07 25 12 * /bin/echo "1111"   每年的12月25日上午7点的第1、5,6分钟 执行 echo "1111"

*/5 9-15 * * 3 /bin/echo "11" 每周三的9点到15点每5分钟执行一次echo

配置文件:   (都是一行一个用户名)

/etc/cron.allow  如果此文件存在,则只有列在此文件中的用户才能使用at命令,如果不存在,则检查下面的文件

/etc/cron.deny  如果此文件存在,则列在此文件中的用户都不能使用at命令

如果两个文件都不存在,则只有root才能使用at

如果两个文件都存在 ,而且均为空,则所有用户都可以使用at



example:

    在4月10日下午2点的每一分钟打印 hello 主机名 - 当前用户

[root@fedora14 ~]# crontab -e

[root@fedora14 ~]# cat /var/spool/cron/root 
* 14 10 04 * /bin/echo "hello `hostname` - `whoami`" > /dev/pts/0

[root@fedora14 ~]# hello fedora14 - root
hello fedora14 - root
hello fedora14 - root

example: 每5分钟向pts/0打印一次消息


[root@fedora14 ~]# cat /var/spool/cron/root
*/5 15 10 04 * /bin/echo "hello `hostname` - `whoami` `date`" > /dev/pts/0
[root@fedora14 ~]# hello fedora14 - root Tue Apr 10 15:10:01 PDT 2012
hello fedora14 - root Tue Apr 10 15:15:01 PDT 2012


分享到:

Copyright © 2013-2014 yixinu.com 湘ICP备14004402号

QQ:316686606  Email: 316686606@qq.com