一.控制进程
前台运行:通过终端启动,且启动后一直占据终端(影响当前终端的操作)
后台运行:可通过终端启动,但启动后即转入后台运行(不影响当前终端的操作)
1.手动启动
前台启动:用户输入命令,直接执行的程序
后台启动:在命令行尾加入“&”符号
2.进程的前后台调度
Ctrl + Z 组合键:将当前进程挂起,即调入后台并停止执行
jobs 命令 :查看处于后台的任务列表 -l 显示PID号
fg 命令 : 将后台进程恢复到前台运行,可指定任务序列号
格式: fg 编号
bg 命令: 将后台程序继续在后台运行
bg 编号
3.终止程序的运行
ctrl + c 组合键 结束终端正在执行的命令
3.1 kill
kill -l 查看所有选项发出的信号
信号编号 | 信号名 | 含义 |
0 | EXIT | 程序退出时收到该消息 |
1 | HUP | 重新读取配置文件 |
2 | INT | 结束进程,但不是强制性的 ctrl+c组合键就是一个kill -2的信号 |
3 | QUT | 退出 |
9 | KILL | 杀死进程 强制结束进程 |
11 | SEGV | 段错误 |
15 | TERM | 正常结束进程,是kill命令的默认信号 |
18 | CONT | 与19相反 |
19 | STOP | 暂停 等同于ctrl + z |
3.2 killall
格式: killall [选项] [信号] 进程名
-i 交互式,询问是否要杀死某个进程
-l 忽略进程的大小写
3.3 pkill
格式 : pkill [信号] 进程名
-U 根据进程所属的用户名终止相应进程
-t 根据进程所在的终端终止相应进程
二.计划任务管理
1.使用 at 命令,设置一次性计划任务
一次性的计划任务 at at 队列存放在/var/spool/at目录中
格式 : at 时间
格式 | 用法 |
---|---|
HH:MM | 比如 04:00 AM。如果时间已过,则它会在第二天的同一时间执行。 |
Midnight(midnight) | 代表 12:00 AM(也就是 00:00)。 |
Noon(noon) | 代表 12:00 PM(相当于 12:00)。 |
Teatime(teatime)下午茶 | 代表 4:00 PM(相当于 16:00)。 |
英文月名 日期 年份 | 比如 January 15 2018 表示 2018 年 1 月 15 号,年份可有可无。 |
HH:MM YYYY-MM-DD | 规定在某年某月的某一天的特殊时刻进行该项任务 |
MMDDYY、MM/DD/YY、MM.DD.YY | 比如 011518 表示 2018 年 1 月 15 号。 |
now+时间 | 以 minutes、hours、days 或 weeks 为单位,例如 now+5 days 表示命令在 5 天之后的此时此刻执行。 |
ctrl + d 提交
atq 可以查看任务列表
atrm 任务序列号 可以删除任务
at 命令的访问控制是依靠 /etc/at.allow(白名单)和 /etc/at.deny(黑名单)这两个文件来实现的:
/etc/at.allow 默认所有用户不可以使用at 只有在at.allow文件中的用户可以用at命令
/etc/at.deny 默认所有用户可以使用at 只有在里面的不可以写
2.使用 crontab 命令,设置周期性计划任务
格式:
crontab -e 编辑计划任务
crontab -l 查看计划任务
crontab -r 删除计划任务
crontab -u XXX 用来设定某个用户的crontab服务
crontab -i 在删除用户的crontab文件时,给确认提示
格式: ***** 绝对路径
第一个*哪一分钟 0-59
第二个*哪一个小时 0-23
第三个*哪一天 1-31
第四个*哪一个月 1-12
第五个*星期几 0-7 07都代表星期天
which 命令 查看绝对路径
注意:这五个必须要有
特殊表示方法:
* | 表示该范围内的任意时间 |
, | 表示间隔的多个不连续时间点 |
- | 表示一个连续的时间范围 |
/ | 指定间隔的时间频率 |
注意:
因各条计划任务在执行时并不需要用户登录,所以任务配置记录中的命令建议使用 绝对路径 ,以避免因缺少执行路径而无法执行命令的情况。
另外,在设置非每分都执行的任务时, “分钟”字段也应该填写一个具体的时间数值 比如0 ,而不要保留为默认的“*”,否则将会在每分钟执行一次计划任务。
实例:
①每天早上8点30分开启sshd服务
进入编辑,设置计划任务
查看计划任务
② 每隔三天将/opt目录下所有文件删除
③创建一个用户lisi的计划任务,每隔三天的12:00将/opt目录下的所有文件复制到/mnt
④时间
周一到周五每天17:00
0 17 * * 1-5
每周一、三、五的8点30分
30 8 * * 1,3,5
8点到18点之间每2小时
0 8-18/2 * * *
每3天
0 * */3 * *