shell学习笔记3-后台执行命令

cron  系统调度进程,使用它在每天的某时间或一周、一月的不同时间运行

at  使用它在一个特点的时间允许一些特殊的作业

&  使用它在后台允许一个占用时间不长的进程

Nohup  使用它在后台运行一个命令,即使在用户退出时也不受影响

1,每一个用户都可以有自己的crontab文件,但是在较大系统中,管理员一般会禁止这些文件,在整个系统中只保留一下这样的文件,系统管理员通过cron.deny和cron.allow这两个文件来禁止和运行用户有自己的crontab文件

2,crontab格式    * * * * * commond

  分(1-59) 时(1-23) 日(1-31) 月(1-12) 星期(0-6,0表示周日) command

  在这些域中,可以用 - 来表示时间范围(1-5 周一到周五),使用 , 来表示和(1,4表示周一和周四),使用 * 表示连续的时间,该文件每一个条目必须包含5个时间域,且每个域之间使用空格分隔,所有注释在行首使用#

  30 21 * * * /apps/bin/cleanup.sh  每晚21:30执行指定目录下文件

  45 4 1,10 * * * /apps/bin/cleanup.sh  每月1,10日执行指定目录下文件

  10 1 * * 6,0 /bin/find -name "core" -exec rm {} ;  每周六日1:10运行一个find命令

  0,30 18-23 * * * /apps/bin/dbcheck.sh  每天18:00到23:00直接每隔30分钟运行指定目录文件

3,crontab命令形式:crontab [-u user] -e -l -r

  -u  用户名,如果使用自己的名字登录,则不需要使用-u

  -e  编辑crontab文件

  -l  列出crontab文件中的内容

  -r   删除crontab文件

4,在考虑向cron进程提交一个crontab文件之前,首先要设置环境编辑EDITOR,cron进程根据它来确定使用哪个编辑器来编辑crontab文件,如果使用vi,则编辑$HOME目录下.profile文件,在其中加入一行

  EDITOR=vi;export EDITOR

然后保存退出

  crontab -e 编辑

  crontab -l 列出crontab文件内容

  crontab -r 删除crontab文件

5,at命令允许用户向cron守护进程提交作业,使其在稍后的时间运行。管理员可以通过/etc目录下的at.allow和at.deny来控制哪些用户可以使用at命令,哪些不可以。

  命令形式:at [-f script] [-m -l -r] [time] [date]

  -f script 是所以提交的脚本或命令

  -l 列出 当前所有等待运行的作业

  -r 清除作业

  -m 作业完成后给用户发邮件

  time at的命令格式非常灵活,可以是H HH HHMM HH:MM H:M  H是小时,M是分钟,还可以使用a.m p.m

  date 日期格式,可以是月份或日期,而且at还识别today,tomorrow等词

6,at提交若干行命令,在at命令后跟上日期/时间并回车,进入at命令提示符,然后就可以逐条输入命令,最后按CTRL+D退出

7,清除作业命令:atrm [job no] 或者 at -r [job no]

  要清除某个作业,需要先执行at -l 命令,以获取相应的作业标识,然后对它执行 at -r 命令,清除该作业

  

8,后台执行命令:& 

  命令格式:commod &

  作业后台运行一样会将结果输出到屏幕,所以需要重定向到某个文件 command >out.file 2>&1 &

9,可以使用ps查询系统的进程,但是不能确定是运行在前台还是后台

  ps -ef|grep 28305 或者 ps x|grep 2888  查询指定进程号的进程

10,使用kill 杀死进程 ,命令格式 kill -signal [process_number]

  kill 28305或者kill -9 28305

11,使用nohup命令,使账户退出时,进程继续运行。

  命令格式 nohup command &

  如果使用了nohup命令提交作业,那么在缺省情况下,该作业的所有输出都被重定向到了nohup.out文件中,出发另外值得了输出文件。例如 nohup comman > myout.file 2>&1

  

  

原文地址:https://www.cnblogs.com/javadongx/p/shell_grep_ps_at_cron_crontab_at_nohup.html