linux 守护进程

  • 守护进程 start-stop-daemo
  • crond


守护进程 start-stop-daemo

  • 功能
    启动和停止系统守护程序
  • 位置
    /sbin/start-stop-daemon
  • 主要参数
  • Commands:
    -S|–start – …  开启守护程序,并传递参数
    -K|–stop    停止一个程序
    -T|–status    得到程序的状态
    -H|–help    显示帮助信息
    -V|–version  打印版本信息
  • Matching options (at least one is required):
    -p|–pidfile <pid-file> pid file to check
    -x|–exec <executable> program to start/check if it is running
    -n|–name <process-name> process name to check
    -u|–user <username|uid> process owner to check
  • Options:
    -s|–signal signal to send (default TERM)
    -a|–startas program to start (default is)
    -r|–chroot chroot to before starting
    -d|–chdir change to (default is /)
    -N|–nicelevel add incr to the process’ nicelevel
    -P|–procsched <policy[:prio]> process scheduler for the kernel(default prio is 0)
    -I|–iosched <class[:prio]> set the IO scheduler (default prio is 4)
    -b|–background 后台运行
    -m|–make-pidfile 当命令本身不创建pidfile时,由start-stop-daemon创建
    -q|–quiet 不输出警告
    -v|–verbose 显示运行过程信息
  • 应用
  • 开启一个daemon进程
    start-stop-daemon -b -m -S -q -p “PID_FILE” -x “BIN_PATH” – $DAEMON_ARGS
  • 关闭一个daemon进程
    start-stop-daemon -K -n “BIN_NAME”

crond

  • 功能
    crond是linux用来周期性的执行某种任务或等待处理某些事件的一个守护进程
  • 配置文件
    系统任务调度的配置文件 /etc/crontab 文件
  • 配置文件描述

minute hour day month week command

  • 其中:
    minute: 表示分钟,可以是从0到59之间的任何整数。
    hour:表示小时,可以是从0到23之间的任何整数。
    day:表示日期,可以是从1到31之间的任何整数。
    month:表示月份,可以是从1到12之间的任何整数。
    week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
    command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
  • 以上各个字段中,可以使用以下特殊字符:
    星号(*):代表所有可能的值,例如month字段如果是星号,则表示每月
    逗号(,):逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
    中杠(-):整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
    正斜线(/):正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次
    正斜线可以和星号一起使用,例如 */10,在minute字段表示每十分钟执行一次
  • crontab命令详解
  • 命令格式
    crontab [-u user] file
    crontab [-u user] [ -e | -l | -r ]
  • 命令参数
    -u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。
    file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
    -e:编辑某个用户的crontab文件内容。如果不指定用户表示编辑当前用户的crontab文件
    -l:显示某个用户的crontab文件内容,如果不指定用户表示显示当前用户的crontab文件内容
    -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户则默认删除当前用户的crontab文件。
    -i:在删除用户的crontab文件时给确认提示。