博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019/02/10 计划任务管理01
阅读量:3922 次
发布时间:2019-05-23

本文共 2726 字,大约阅读时间需要 9 分钟。

在这里插入图片描述

进程管理的工具,包括一些监控io,监控网络的性能方面的工具
在执行进程的时候有两种:前台,后台
前台执行:占用终端资源(如果程序不结束,那么这个终端资源就没有办法给别的命令使用)
如何后台执行程序,可以在命令command+& ,就可以把之前前台默认运行的程序,放到后台,那么后台执行就不占用终端资源了

如ping就是前台执行,打其他命令是不能执行的

在这里插入图片描述
虽然结果还是可以在前台看到,但是已经可以敲命令了,命令再后台执行,不占用终端资源
在这里插入图片描述
在这里插入图片描述
分开敲不用认为是打断,只是显示的问题,但是ctrl+c不起作用,无法终止
在这里插入图片描述
可以用kill ,或者恢复到前台执行
jobs可以查看后台正在执行的命令
[1]是它的编号,因为后台的命令可能有好几个,所以要记住有几个

在这里插入图片描述

在这里插入图片描述
fg frontgroup 恢复到前台,后面跟上数字
在这里插入图片描述
就把2这个命令换到前台执行了
在这里插入图片描述
在这里插入图片描述
也可以把正在执行的命令切换到后台执行,ctrl+z,但是是停止了
在这里插入图片描述
bg +编号 backgroup 后台运行
在这里插入图片描述
在这里插入图片描述
后台运行的能否休眠,killall -19 ping
在这里插入图片描述
发19 信号休眠
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从休眠继续后台运行
在这里插入图片描述
在这里插入图片描述
但是如果想要ctrl+c的时候让用户停不住
ctrl+c=2号信号
那就可以在写脚本的时候 ,捕捉到这个ctrl+c的信号,不让他执行,就是信号捕捉,
捕捉到信号后,按照自己的意愿执行
在这里插入图片描述
在这里插入图片描述
kill [%作业编号],也可以杀进程
后台执行
在这里插入图片描述
再另外开一个终端,用jobs查看后台运行的程序(只能在本终端上看,才能看到)
但是用ps pstree可以看到
在这里插入图片描述
jobs属于内部命令
在这里插入图片描述
在这里插入图片描述
虽然在后台执行但是依旧和终端相关
在这里插入图片描述
pkill 可以把终端所有命令杀掉
在这里插入图片描述
放到后台执行,网断了也就停止了,但是如果拷贝文件需要时间长,网断了不希望中断,可以用screen
在这里插入图片描述
保证断网程序能继续执行
在这里插入图片描述
开启一个会话,后台执行ping命令
在这里插入图片描述
断网
在这里插入图片描述
但程序还在运行
在这里插入图片描述
重新连接网络,继续执行screen -r
在这里插入图片描述
程序继续执行
在这里插入图片描述
退出screen
在这里插入图片描述
在这里插入图片描述
还有另外一种方法 nohup
在这里插入图片描述
杀掉ping命令
在这里插入图片描述
清理环境,重新用nohup执行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前面的命令只要有标准输出信息,默认把输出放到文件里,而且是不断追加的
接下来让其网络断开,
命令还在继续执行
在这里插入图片描述
原来的关系
在这里插入图片描述
现在变成systemd的子进程,换父进程了,就可以继续执行
在这里插入图片描述
在实际情况下,做一些备份一些时间比较久的情况,为了避免网断的情况,都要加nohup或者
screen的方式,这样就不会说网断了,影响你执行程序
用nohup网断了,想恢复到前台执行
在这里插入图片描述
fg,无论后台运行和后台休眠都可以切换
如何实现,多进程并行执行
在这里插入图片描述
同时执行
在这里插入图片描述
全部杀掉ping的进程
在这里插入图片描述
并行命令第一种方法,脚本里加&
在这里插入图片描述
另外一种 (相当于开了三个子进程),小括号+&在这里插入图片描述
第三种方法,花括号+&
在这里插入图片描述
有些时候,有些命令一步一步进行效率是非常低的,可以并行执行增加效率
在这里插入图片描述
f1.sh代表一个命令或一个脚本
在这里插入图片描述
关于进程以及基本的任务管理,包括基本 的性能监控,
在这里插入图片描述
ps
pstree
pgrep
pkill
top
pidof 查看 进程编号
pmap 查看内存的映射关系
htop
uptime
vmstat
dstat
iostat
bg前后台切换
fg前后台切换(前台)
jobs
glances (服务端,客户端,远程查看主机情况)
iotop
kill
killall
nohup
nice
renice
watch
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
任务管理的内容(定点执行,周期执行)
一次性任务用at(一次性的,未来某个时间点执行)或者
batch(系统自行选择空闲时间去执行此处指定的任务)
在这里插入图片描述
需要安装at包
atq查询计划任务 atrm删除计划任务 batch执行一次空闲的计划任务
同时atd.service也是个服务(利用at进行计划任务,就一定要启动服务)
在这里插入图片描述
开启服务,确保处于running状态
在这里插入图片描述
6的命令跟7不一样
在这里插入图片描述
在这里插入图片描述
-V显示版本信息
在这里插入图片描述
可以更改配置文件,使系统时间更好同步
在这里插入图片描述
在这里插入图片描述
再生产中,时间是非常重要的,必须确保同步一致
同步的前提,这个配置文件生效前提是必须是服务器的与同步的相差不大,一分钟,如果相差大了,文件就不生效,所以先同步到相差不大的时间,修改文件,后期就自动更新
防火墙状态
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第一步同步
在这里插入图片描述
在这里插入图片描述
确保这个服务开机启动
在这里插入图片描述
在这里插入图片描述
centos6的修改文件略有不同·
在这里插入图片描述
设置开机启动
在这里插入图片描述
时间同步是初始化系统必做的工作,时间不同步,很多应用都会有问题
在这里插入图片描述

时间同步

第一步ntpdate 172.20.0.1
第二步 centos7 修改 /etc/chrony.conf service 172.20.0.1 iburst
centos6 修改 /etc/ntp.conf
第三步 centos7 systemctl enable chronyd
1002 systemctl status chronyd
1003 systemctl start chronyd
centos6 vim /etc/ntp.conf
server 172.20.0.1 iburst
chkconfig ntpd on
service ntpd start
在这里插入图片描述
-c看作业1的具体内容是什么
在这里插入图片描述
计划任务放在了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
放到文件里,就不用担心重启丢失
希望在未来的15分钟做某一件事
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
02pm + 3days (三天之后的下午两点)
在这里插入图片描述
noon中午,midnight午夜0点,teatime下午茶下午4点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
-d删除计划任务
在这里插入图片描述
-f可以吧多个作业放到文件,只要用f调用就可以
在这里插入图片描述
在这里插入图片描述
at是个标准输入的,就可以用重定向
在这里插入图片描述
计划任务里带标准输出,不会像你希望的那样在当前终端显示出来,因为at任务毕竟在未来执行,有可能用户根本就没有登录,有输出也不会显示,就会以邮件方式发给你
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样就提示我们,写脚本时,注意这些垃圾邮件,尽可能在脚本里把这些标准输出取消 重定向到如/dev/null,
在这里插入图片描述
at有个小小的缺点,当at命令执行完毕以后(后面还一分钟执行),到底有没有执行,看不到明显的结果,
-m就强制给你发邮件,只要执行了,就给你发邮件
在这里插入图片描述
空邮件确实执行了
在这里插入图片描述
换一种方式创建计划任务
at -d =atrm
在这里插入图片描述
在这里插入图片描述
可以定义用户是否能执行计划任务
在这里插入图片描述
在这里插入图片描述
如果不希望王用户来操作at任务,就要设置黑名单白名单,默认只有黑名单)
在这里插入图片描述
白名单默认不存在,需要手动创建,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果有了白名单,只有在白名单列出的用户才能执行计划任务
如果白名单不存在,那就看黑名单,存在黑名单里的人就不能执行计划任务,(不在黑名单的就能执行)
黑名单和白名单都删除,意味只有root才行(这就是系统为什么要有一个黑名单的原因,哪怕是黑名单是空的)
在这里插入图片描述
在这里插入图片描述
执行at三种方式,交互式,重定向,写到文件里
如何在脚本写at命令
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

转载地址:http://zwkgn.baihongyu.com/

你可能感兴趣的文章
C#基于yolov3的行人检测
查看>>
ML.NET Cookbook:(16)什么是规范化?为什么我需要关心?
查看>>
WPF 修改(优化)Menu菜单的样式
查看>>
我开发了一款基于web容器的前端项目容器
查看>>
WPF实现环(圆)形菜单
查看>>
WPF 写一个提醒工具软件(完整项目)
查看>>
Windows 11 快速体验:开始菜单居中,全系圆角设计!
查看>>
异步流使用注意事项
查看>>
NET问答: 为什么仅有 getter 的属性,还可以在构造函数中赋值 ?
查看>>
WPF TextBox限制只能输入数字的两种方法
查看>>
【荐】牛逼的WPF动画库:XamlFlair
查看>>
如何绕过 TPM 2.0 安装 Windows 11 操作系统?
查看>>
为WPF播放GIF伤神不?
查看>>
.NET Core with 微服务 - Elastic APM
查看>>
生产力提升! 自己动手自定义Visual Studio 2019的 类创建模板,制作简易版Vsix安装包...
查看>>
考虑用Task.WhenAll
查看>>
关于面试,避开这几点,成功几率更大~~~
查看>>
堵俊平:开放治理是开源社区的终极之路 | DEV. Together 2021 中国开发者生态峰会...
查看>>
Linux实操--实用指令Day3
查看>>
Linux实操--实用指令Day4
查看>>