进程的启动方式与结束进程 计划任务

一、进程的启动与结束

1.1.手动启动

前台运行:影响当前终端操作

后台运行:不影响当前终端操作

前台启动:用户输入命令,直接执行程序

后台启动:可以并行执行,在命令行尾加入“&”符号

进程的启动方式与结束进程 计划任务_第1张图片

jobs ——可以查看后台运行的命令列表

 fg 1 ——把任务调回前台

ctrl +Z ——放入后台并停止

bg 1 ——开启后台命令

1.2.kill 结束进程

kill 从字面来看,就是用来杀死进程的命令,但事实上,这个或多或少带有一定的误导性。从本质上讲,kill 命令只是用来向进程发送一个信号,至于这个信号是什么,是用户指定的。

也就是说,kill 命令的执行原理是这样的,kill 命令会向操作系统内核发送一个信号(多是终止信号)和目标进程的 PID,然后系统内核根据收到的信号类型,对指定进程进行相应的操作。

通式:kill [信号] PID

信号编号 信号名 含义
-0 EXIT 程序退出时收到该信息。
-1 HUP 挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。
-2 INT 表示结束进程,但并不是强制性的,常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号。
-3 QUIT 退出。
-9 KILL 杀死进程,即强制结束进程。
-11 SEGV 段错误。
-15 TERM 正常结束进程,是 kill 命令的默认信号。

1.3.killall

killall 也是用于关闭进程的一个命令,但和 kill 不同的是,killall 命令不再依靠 PID 来杀死单个进程,而是通过程序的进程名来杀死一类进程,也正是由于这一点,该命令常与 ps、pstree 等命令配合使用。

通式:killall [选项] [信号] 进程名

-i:交互式,询问是否要杀死某个进程;

-I:忽略进程名的大小写;

二、计划任务管理

2.1.at 一次性的计划任务

通式:at + [时间]

进程的启动方式与结束进程 计划任务_第2张图片

at>后面输入指令  然后按ctrl+d 提交 

选项 效果
atq 查看任务列表
atrm +任务列表里的序列号 删除序列号的任务

2.2.crontab

里面有个服务是默认开启的

systemctl status crond.service

周期性的计划任务

通式:crontab 【选项】

选项 功能
-e 编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。
-l 显示某用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。
-r 从 /var/spool/cron 删除某用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。
-i 在删除用户的 crontab 文件时,给确认提示。

  • 按照预先设置的时间周期(分钟、小时、天、月、周)重复执行指定的命令操作
  • 属于周期性计划任务

主要设置文件:

全局配置文件,位于文件: /etc/crontab

系统默认的设置,位于目录: /etc/cron.*/

用户定义的设置,位于文件: /var/spool/cron/用户

进程的启动方式与结束进程 计划任务_第3张图片 

项目 含义 范围
第一个"*" 一小时当中的第几分钟(minute) 0~59
第二个"*" 一天当中的第几小时(hour) 0~23
第三个"*" 一个月当中的第几天(day) 1~31
第四个"*" 一年当中的第几个月(month) 1~12
第五个"*" 一周当中的星期几(week) 0~7(0和7都代表星期日)

crontab -e

进入 crontab 编辑界面。会打开Vim编辑你的任务
    * * * * * 执行的任务

在时间表示中,还有一些特殊符号需要学习

特殊符号 含义
*(星号) 代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思。
,(逗号) 代表不连续的时间。比如"0 8,12,16***命令"就代表在每天的 8 点 0 分、12 点 0 分、16 点 0 分都执行一次命令。
-(中杠) 代表连续的时间范围。比如"0 5 ** 1-6命令",代表在周一到周六的凌晨 5 点 0 分执行命令。
/(正斜线) 代表每隔多久执行一次。比如"*/10命令",代表每隔 10 分钟就执行一次命令。

注意:在crontab编译中 % 有特殊含义 要加 \ 区分

例:30 2 * * * /bin/cp -a /etc/ /data/etc`date +\%F_\%T`

你可能感兴趣的:(linux,运维,服务器)