linux周期性计划任务 进程管理
周期性计划任务
crontab命令
系统服务:/etc/init.d/crond(crond必须启动才会生效)
用户计划:/var/spool/cron/用户名
默认的计划任务
全局配置:/etc/crontab
系统计划:/etc/cron.hourly/*(每小时要执行)
/etc/cron.daily/*(每天要执行)
/etc/cron.weekly/*(每星期要执行)
/etc/cron.monthly/*(每月要执行)
[root@xiaoxiong 桌面]# rpm -qa | grep cron(查看是否安装了这个服务)
crontabs-1.10-33.el6.noarch
cronie-anacron-1.4.4-15.el6.x86_64
cronie-1.4.4-15.el6.x86_64
[root@xiaoxiong 桌面]# /etc/init.d/crond status(查看这个服务是否运行)
crond (pid 2715) 正在运行...
[root@xiaoxiong 桌面]# chkconfig crond --list
crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@xiaoxiong 桌面]# ls /etc/cron.hourly/(每小时要执行的脚本)
0anacron mcelog.cron
[root@xiaoxiong 桌面]# ls /etc/cron.daily/(每天要执行的脚本)
cups logrotate makewhatis.cron mlocate.cron prelink readahead.cron rhsmd tmpwatch
[root@xiaoxiong 桌面]# ls /etc/cron.weekly/(每星期要执行的脚本)
[root@xiaoxiong 桌面]# ls /etc/cron.monthly/(每月要执行的脚本)
readahead-monthly.cron
[root@xiaoxiong 桌面]# vim /etc/crontab (主配置文件)
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
*:匹配范围内任意时间
,:表示多个不连续的时间点
-:表示连续的时间范围
/n:指定时间频率,每n...
记录格式
执行周期,可执行语句
分钟 小时 日期 月份 星期 可执行语句
执行周期 设置说明
分钟 从0到59之间的数
小时 从0到23之间的数
日期 从1到31之间的数
月份 从1到12之间的数
星期 0-7之间的整数,0或7代表星期日
执行周期示列:
0 17 * * 1-5 周一到周五每天17:00
30 8 * * 1,3,5 每周一,周三,周五的8:30
0 8-18/2 * * * 8点到18点之间没2小时
0 0 */3 * * 每三天的0点
crontab命令格式:
编辑cron计划任务
格式:crontab -e [-u 用户名]
查看cron计划任务
格式:crontab -l [-u 用户名]
删除crontab计划任务
格式:crontab -r [-u 用户名]
[root@xiaoxiong 桌面]# crontab -e(编辑计划任务)
30 7 * * * /etc/init.d/sshd start(每7:30开启)
30 23 * * * /etc/init.d/sshd stop(每23:30开启)
[root@xiaoxiong 桌面]# crontab -l(查看计划任务)
30 7 * * * /etc/init.d/sshd start
30 23 * * * /etc/init.d/sshd stop
[root@xiaoxiong 桌面]# crontab -r(删除计划任务,这个不好用,不可以删除单条)
计划任务的授权
cron任务控制
/etc/cron.allow /etc/cron.deny
[root@xiaoxiong 桌面]# ls /etc/cron.allow /etc/cron.deny
ls: 无法访问/etc/cron.allow: 没有那个文件或目录
/etc/cron.deny
如果allow文件存在,则允许指定的用户
否则检查deny文件,除指定用户外其余都允许
如果两个文件都不存在,则只允许root使用
计划任务中断与补救
anacron延时补救
任务周期:每小时检查一次,最近x天以内的任务
由crond服务调度检查,执行被错过的任务操作
[root@xiaoxiong 桌面]# rpm -ql cronie-anacron | grep etc
/etc/anacrontab (全局配置)
/etc/cron.hourly/0anacron(检查任务的脚本)
[root@xiaoxiong 桌面]# tail -3 /etc/anacrontab (anacreon主配置文件)
1 5 cron.daily nice run-parts /etc/cron.daily
7 25 cron.weekly nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly
——————————————————————————————————————————————————————
进程管理
程序:保存在磁盘中的可执行文件,是静态保存的代码
进程:在CPU及内存中运行的程序指令,是动态的执行代码,进程可以创建一个或者多个子进程(父/子进程)
查看进程树
pstree命令
格式:pstree [选项] [PID或用户名]
常用命令选项
-a:显示完整的命令行
-u:列出各进程所属的用户名
-p:列出对应的PID号
[root@xiaoxiong ~]# pstree -aup xx01
bash,5905
└─vim,5930
查看进程快照
ps命令
格式:ps [选项]
常用命令选项
-a:显示当前终端下的所有进程
-u:使用以用户为主的格式输出信息
-x:显示当前用户在所以终端下的进程
-e:显示系统内所有的进程
-l:使用长格式输出信息
-f:以最完整的格式输出信息
[root@xiaoxiong ~]# ps aux(详细度高,列出正在运行的所有进程)
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 19364 1540 ? Ss 17:16 0:03 /sbin/init
root 2 0.0 0.0 0 0 ? S 17:16 0:00 [kthreadd]
..... ....
[root@xiaoxiong ~]# ps -elf(详细度低,列出正在运行的所有进程)
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 0 0 80 0 - 4841 poll_s 17:16 ? 00:00:03 /sbin/init
1 S root 2 0 0 80 0 - 0 kthrea 17:16 ? 00:00:00 [kthreadd]
..... ....
STAT列,体现进程的状态
-R:正在运行
-S:处于休眠状态,在需要是可唤醒
-D:不可中断的休眠,通常为等待I/O(读写)的情况
-T:停止状态
-Z:僵尸状态,程序已经终止,但占用的内存未被释放
进程动态排名
top交互式工具
格式:top [-d刷新秒数] [-U 用户名](刷新秒数缺省为3秒)
[root@xiaoxiong 桌面]# top -d5(每5秒刷新一次)
top - 22:40:38 up 5:23, 2 users, load average: 0.02, 0.02, 0.00
Tasks: 181 total, 1 running, 180 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.6%us, 0.4%sy, 0.0%ni, 96.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1004768k total, 852424k used, 152344k free, 69264k buffers
Swap: 5054460k total, 0k used, 5054460k free, 365344k cached
检索进程信息
pgrep命令
用途:pgrep [选项] 查询条件
常用命令选项
-l:输出进程名,不仅是PID
-U:检索指定用户的进程
-t:检索指定终端的进程
[root@xiaoxiong 桌面]# pgrep -l net
13 netns
2498 xinetd
进程前后台调度
前台启动:输入正常的命令行,运行期间占用当前终端
后台启动:在命令行末尾添加&符号,运行期间不占用当前终端
ctrl+z组合键:挂起当前进程(暂停并转入后台)
jobs命令:查看后台任务列表
fg命令:将后台任务恢复到前台运行
bg命令:激活后台被挂起的任务
(fg,bg命令未指定序号时,缺省为最近的1个任务)
终止进程
ctrl+c组合键
kill,killall命令
kill PID号,killall进程名
选线-9表示强制终止
pkill命令:杀死符合指定条件的进程,用法与pgrep相似
[root@xiaoxiong 桌面]# killall sleep
[1]- 已终止 sleep 900
[2]+ 已终止 sleep 900
————————————————————————————————————————
linux启动流程
加载BIOS,检查硬件信息
读取并执行第一个开机设备内MBR的boot Loader
运行grub引导加载kernel
内核启动/sbin/init程序
init系统初始化
确定默认的运行级别
触发runleve事件,运行/etc/rc.d/rc
最后执行/etc/rc.local
加载终端或X-Windows接口
————————————————————————————————————
linux周期性计划任务 进程管理的更多相关文章
- Linux学习笔记(六) 进程管理
1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...
- Linux 源码阅读 进程管理
Linux 源码阅读 进程管理 版本:2.6.24 1.准备知识 1.1 Linux系统中,进程是最小的调度单位: 1.2 PCB数据结构:task_struct (Location:linux-2. ...
- linux 的服务与进程管理(二)
2.linux 的服务与进程管理 [2.1]系统启动流程 简单的介绍下linux的系统启动流程,方便我们深入了解linux操作系统,对排除linux系统故障进行帮助.启动流程虽然简单但背后还有着更加复 ...
- Linux第九讲随笔 -进程管理 、ps aux 、
Linux第九讲1,进程管理 Linux在执行每一个程序时,就会在内存中为这个程序建立一个进程,以便让内核可以管理这个运行中的进程,进程是系统分配各种资源,进程调度的基本单位. 怎么查看进程 一.ps ...
- Linux快速入门教程-进程管理ipcs命令学习
使用Linux系统必备的技能之一就是Linux进程管理,系统运行的过程正是无数进程在运行的过程.这些进程的运行需要占用系统的内存等资源,做好系统进程的管理,对于我们合理分配.使用系统资源有非常大的意义 ...
- 『学了就忘』Linux系统管理 — 81、进程管理介绍
目录 1.进程与线程的概念 2.什么是进程管理 3.进程管理的作用 4.Linux进程的几种状态 5.进程与线程的关系 (1)线程与进程的关系 (2)总结 1.进程与线程的概念 来源百度百科: 进程( ...
- Linux零起点之进程管理----c语言编程
进程 (Process)是指操作系统中被加载到内存中的.正在运行的应用程序实例.进程是系统资源分配的基本单元,在其生命周期内会使用系统中的各种资源.进程主要由程序.数据以及进程控制快(PCB)3个部分 ...
- 【Linux 应用编程】进程管理 - 进程、线程和程序
基本概念 程序和进程的区别 程序是平台相关的二进制文件,只占用磁盘空间.编写完程序代码后,编译为可执行的二进制文件即可. 进程是运行中的程序,占用 CPU.内存等系统资源. 通过 Shell 命令,可 ...
- linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程
1.设置任务调度命令crontab 任务调度是指系统在某个时间执行的特定的命令或程序.任务调度分为:1)系统工作:有些重要的工作必须周而复始的执行,如病毒扫描.2)个别用户工作:个别用户可能希望执行某 ...
随机推荐
- c# 基础任务1
1.winform系统全局异常布局处理. Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); ...
- 李忠益TP5商城项目笔记(待完成)
商品种类的无限极分类 $data=db('goods_type')->field(['*','concat(path,",",id)'=>'paths'])->o ...
- openvpn服务端与客户端网段互通
http://www.softown.cn/post/140.html OpenVPN安装.配置教程 http://www.softown.cn/post/137.html openvpn的serve ...
- GO开发:用go写个日志监控系统
日志收集系统架构 1.项目背景 a. 每个系统都有日志,当系统出现问题时,需要通过日志解决问题 b. 当系统机器比较少时,登陆到服务器上查看即可满足 c. 当系统机器规模巨大,登陆到机器上查看几乎不现 ...
- WindowXp-Windows7-Windows运行命令(转)
Win7里面按 Win+R 呼出运行界面,一下是它的一些常用命令: 1.cleanmgr: 打开磁盘清理工具 2.compmgmt.msc: 计算机管理 3.conf: 启动系统配置实用程序 4.ch ...
- FluorineFx.IO.AMFMessage
近日玩网页游戏七雄争霸,觉得还可以,但是玩起来太累,所以想自己开发个辅助试试 从网上找到了个<流年网页游戏辅助VIP系列教程>,看了下,遇到了一个问题 特来请高手指点...... 代码如下 ...
- web.xml 文件中一般包括 servlet, spring, filter, listenr的配置的加载顺序
首先可以肯定 加载顺序与他们在web.xml 文件中的先后顺序无关. web.xml 中 listener 和 serverlet 的加载顺序为 先 listener 后serverlet最终得出结果 ...
- android adb shell input各种妙用
项目中使用一个开发版,预留两个usb接口.类似华硕TinkerBoard. 一个用户连接摄像头,一个用于adb调试.结果就没了鼠标的接口.多次切换鼠标和摄像头插头,非常不方便,带摄像头的app没法调试 ...
- Python基础篇(六)
retun空值,后面的语句将不再被执行 >>> def test(): ... print("just a test!") ... return .. ...
- 洛谷 [P2764]最小路径覆盖问题
二分图应用模版 #include <iostream> #include <cstdio> #include <algorithm> #include <cs ...