栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux(9)进程控制和计划任务

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux(9)进程控制和计划任务

文章目录
  • 控制进程和计划管理任务
    • 控制进程
      • Ctrl+组合键
      • kill命令
      • 进程的前后台控制
    • 计划任务管理
      • 一次性计划任务(at命令)
      • 周期性计划任务(crontab命令)
        • 1)/etc/crontab 系统任务配置文件(全局)
        • 2)/var/spool/cron/ 用户 cron 任务的配置文件存放目录
        • 3)crontab命令
        • 4)计划任务配置

控制进程和计划管理任务 控制进程 Ctrl+组合键

​ ctrl+c:发送sigint信号,终止一个进程

​ ctrl+z:发送sigstop信号,挂起一个进程,将作业放置到后台(暂停)

​ ctrl+d:不是发送信号,表示一个特殊的二进制值,表示EOF。代表输入完成或注销。

kill命令

发送信号,杀死进程

kill PID号

kill -9 PID号:-9选项用于强制终止

killall 命令名:用于终止指定名称的进程(可用于需要结束系统中多个相同名称的进程)

pkill [选项] 参数:可终止不同参数下的进程

​ -U 用户名:终止该用户创建的进程

​ -t 终端号:终止该终端中所有进程

进程的前后台控制

​ fg:将后台进程恢复到前台运行,可指定任务序号

​ bg:将后台中暂停执行的进程在后台中恢复执行

​ &:在命令的最后加一个&,程序将在后台自动执行。当终端退出(挂起)的时候命令也自动退出

nohup命令:永久运行进程(不挂断的运行,注意并没有后台运行的功能,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系)(可以和&同时用:nohup 命令 &——表示永久的在后台运行命令)

计划任务管理

在Linux操作系统中,除了用户即时执行的命令操作之外,还可以配置在指定的时间、指定的日期执行预先计划的系统管理任务(如定期备份、定期采集监测数据)。CentOS系统中默认已安装了at、cronie软件包,通过atd和crond这两个系统服务实现一次性、周期性计划任务的功能,并分别通过at、crontab命令进行计划任务设置。

一次性计划任务(at命令)

使用at命令设置的计划任务只在指定的时间点执行一次,前提是对应的系统服务atd必须已经运行。需要注意的是,计划执行任务的时间、日期必须安排在当前系统的时刻之后,否则将无法正确设置计划任务。

设置一次性计划任务时,在at命令行中一次制定计划执行任务的时间、日期作为参数(若只指定时间则表示当天的该时间段,若只指定日期则表示该日期的当前时间),确认后将进入带“at>”提示符的任务编辑界面,每行设置一条执行命令,可以一次设置多条语句,最后按Ctrl+D组合键提交任务。所设置的命令操作将在计划的时间点被依次执行。

[root@root /]#at [HH:MM] [yyyy-mm-dd]
at>命令
at>

设置完毕后按Ctrl+D组合键提交。

atq命令:显示还未执行的at任务

atrm命令:atrm 任务号:删除指定编号at任务

例:先通过date命令确认当前的系统时间,并设置在下个月当天的晚八点自动统计该时间点系统中由root用户运行的进程的数量,并将该数值保到/tmp/ps/root文件中。

[root@localhost ~]# date
2022年 05月 30日 星期一 09:54:41 CST
[root@localhost ~]# at 20:00 2022-06-30
at> pgrep -U root | wc -l > /tmp/ps/root
at> 
job 5 at Thu Jun 30 20:00:00 2022
[root@localhost ~]# atq     
5	Thu Jun 30 20:00:00 2022 a root
周期性计划任务(crontab命令) 1)/etc/crontab 系统任务配置文件(全局)
[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash                   //设置执行计划任务的Shell 环境
PATH=/sbin:/bin:/usr/sbin:/usr/bin	 //定义可执行命令及程序的路径
MAILTO=root	                  //将任务输出信息发送到指定用户的邮箱

根据/etc/crontab 配置文件中的设定,crond 将按照不同的周期重复执行相应目录中的任务脚本文件

2)/var/spool/cron/ 用户 cron 任务的配置文件存放目录
[root@localhost ~]# ll /var/spool/cron/root
-rw-------. 1 root root 33 May 7 11:01 /var/spool/cron/root

crond 守护进程会自动检查/etc/crontab 文件、/etc/cron.d/目录及/var/spool/cron/目录中的改变,如果发现有配置更改,它们就会被载入内存,所以当某个 crontab 文件改变后并不需要重新启动 crond 守护进程就可以使设置生效

3)crontab命令

​ -e:编辑计划任务列表

​ -u 用户名:指定所管理的计划任务属于哪个用户,默认是当前用户

​ -l:列表显示计划任务

​ -r:删除计划任务列表

4)计划任务配置
*     *    *    *    *    命令   状态   参数
分钟 小时  日期  月份  星期                                  

“*”表示每个时间段,如每分钟,每天。

“-”表示一个联系的时间范围,如1-3表示1,2,3。

“,”表示一个间隔不连续的范围。

“/”用来指定间隔频率,如日期字段中*/3表示每隔3天。

命令可以是普通命令也可以是自己编写的脚本。

例1:每天早上 7:50自动开启 sshd 服务:

[root@localhost ~]# crontab -e
50 7 * * * /usr/bin/systemctl start sshd.service 

例2:每隔五天清空一次 FTP 服务器公共目录:

[root@localhost ~]# crontab -e
0 0 */5 * * /usr/bin/rm -rf /var/ftp/pub/*

END

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/945884.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号