程序、进程和作业
    程序(program):程序是机器指令的集合,以文件形式存储
    进程(process):进程是一个程序在自身虚拟地址空间中的一次执行
    作业/任务(job/task):用户通过操作系统用户接口(shell或X环境)提交给计算机进行加工处理的程序。如用户发出一个打印命令,就产生一个打印作业/任务
    进程类型
    交互进程:
    由一个shell启动的进程
    交互进程既可以在前台运行,也可以在后台运行
    批处理进程:
    不与特定的终端相关联,提交到等待队列中顺序执行的进程
    守护进程:
    在Linux启动时初始化,需要时运行于后台的进程
    进程的启动方式
    手工方式:使用操作系统提供的用户接口
    前台:如:ls -l
    后台:(&)如sleep 1000&
    调度方式:按照预先指定的时间执行
    at
    batch
    cron
    查看系统中的进程
    ps:查看进程当前时间状态点的详细信息
    image.png
    top:动态监视系统进程
    pidof:通过进程名获取进程的PID
    kill:杀死系统中的进程
    kill [-signal] PID
    SIGTERM | TERM (15) 正常终止(默认)
    SIGKILL | KILL (9) 立即终止
    SIGHUP | HUP (1) 重读配置文件

    实施作业控制的常用命令和快捷键
    cmd &:命令后的&符号表示将此命令放到后台运行,避免霸占终端
    Ctrl+c:强行终止一个正在前台运行的进程
    Ctrl+d:正常终止一个正在前台运行的进程
    Ctrl+Z:挂起一个正在前台运行的进程
    jobs:显示后台作业和被挂起的进程
    bg:在后台恢复运行一个被挂起的进程
    fg:在前台恢复运行一个被挂起的进程
    守护进程的概念:
    守护进程是在计算机启动时就被运行的,并在系统中持续运行的进程,它等待着随时为客户提供自身负责的服务
    守护进程的工作:
    打开一个端口,等待(Listen)进入的连接。如果客户提起了一个连接,守护进程就创建(frok)子进程来响应此连接,而父进程继续监听更多的服务请求。正因为如此,每个守护进程都可以处理多个客户服务请求
    pstree:查看系统当前运行的守护进程
    chkconfig:添加指定的新服务、清除指定的服务、显示由chkconfig管理的服务、改变服务的运行级别、检查指定服务的启动状态
    image.png
    service:启动或终止守护进程,执行后立即生效
    chkconfig与service区别:
    chkconfig设置后需重启才能生效,service设置后立即生效但重启后设置失效
    at:在一个指定的时间执行一个指定的任务,只能执行一次,且需要开启atd进程(作业执行结果默认通过邮件通知用户,也可以重定向输出到某一文件)
    at [option] Time
    >(专用命令提示符下输入命令)
    >EOT (ctrl+d)
    -q <列队>:使用指定的列队
    -l:列出指定队列中等待运行的作业,相当于atq
    -d:删除指定的作业,相当于atrm
    -c:查看具体作业任务
    -f <文件>:从指定文件读入任务,而不是从标准输入读入
    cron:安排每小时、每天、每月或每周都要定期执行的进程任务
    cron周期任务由crond守护进程和crontab文件协同实现
    用户使用crontab命令管理crontab文件
    cron任务:
    系统cron任务:系统维护作业:/etc/crontab
    用户cron任务:执行crontab命令,每个用户都有一个专用的crontab文件,该文件存放在:/var/spool/cron/USERNAME

    image.png
    crontab:装载cron进程所需的crontab文件
    crontab [-u user] [-l|-r|-e]
    crontab [-u user] filename
    -u user:修改指定用户的crontab文件,若不指定,默认为操作者本人
    -l:在标准输出上显示当前的crontab任务
    -r:删除当前的crontab任务
    -e:使用环境变量指定的编辑器编辑crontab文件,编辑结束后,编辑的文件自动安装
    filename:是一个crontab文件的来源文件