周期性计划任务
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周期性计划任务 进程管理的更多相关文章

  1. Linux学习笔记(六) 进程管理

    1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...

  2. Linux 源码阅读 进程管理

    Linux 源码阅读 进程管理 版本:2.6.24 1.准备知识 1.1 Linux系统中,进程是最小的调度单位: 1.2 PCB数据结构:task_struct (Location:linux-2. ...

  3. linux 的服务与进程管理(二)

    2.linux 的服务与进程管理 [2.1]系统启动流程 简单的介绍下linux的系统启动流程,方便我们深入了解linux操作系统,对排除linux系统故障进行帮助.启动流程虽然简单但背后还有着更加复 ...

  4. Linux第九讲随笔 -进程管理 、ps aux 、

    Linux第九讲1,进程管理 Linux在执行每一个程序时,就会在内存中为这个程序建立一个进程,以便让内核可以管理这个运行中的进程,进程是系统分配各种资源,进程调度的基本单位. 怎么查看进程 一.ps ...

  5. Linux快速入门教程-进程管理ipcs命令学习

    使用Linux系统必备的技能之一就是Linux进程管理,系统运行的过程正是无数进程在运行的过程.这些进程的运行需要占用系统的内存等资源,做好系统进程的管理,对于我们合理分配.使用系统资源有非常大的意义 ...

  6. 『学了就忘』Linux系统管理 — 81、进程管理介绍

    目录 1.进程与线程的概念 2.什么是进程管理 3.进程管理的作用 4.Linux进程的几种状态 5.进程与线程的关系 (1)线程与进程的关系 (2)总结 1.进程与线程的概念 来源百度百科: 进程( ...

  7. Linux零起点之进程管理----c语言编程

    进程 (Process)是指操作系统中被加载到内存中的.正在运行的应用程序实例.进程是系统资源分配的基本单元,在其生命周期内会使用系统中的各种资源.进程主要由程序.数据以及进程控制快(PCB)3个部分 ...

  8. 【Linux 应用编程】进程管理 - 进程、线程和程序

    基本概念 程序和进程的区别 程序是平台相关的二进制文件,只占用磁盘空间.编写完程序代码后,编译为可执行的二进制文件即可. 进程是运行中的程序,占用 CPU.内存等系统资源. 通过 Shell 命令,可 ...

  9. linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程

    1.设置任务调度命令crontab 任务调度是指系统在某个时间执行的特定的命令或程序.任务调度分为:1)系统工作:有些重要的工作必须周而复始的执行,如病毒扫描.2)个别用户工作:个别用户可能希望执行某 ...

随机推荐

  1. php 通过curl获取远程数据,返回的是一个数组型的字符串,高手帮忙如何将这个数组类型的字符串变成数组。

    如 Array([0] => Array([0] => Array([kd_status] => 已签收[kd_time] => 2014-04-30 18:59:43 [b] ...

  2. 【转】sed & awk常用正则表达式

    正则表达式元字符 正则表达式中有两种基本元素: 以字面值或变量表示的值(如.代表任意单个字符). 操作符(如*代表将前面的字符重复任意次). 元字符汇总 特殊字符 用途 . 匹配除换行符以外的任意单个 ...

  3. matlab获取文件夹中的所有文件名(dir)

    当前目录中包含文件及目录如下: abc111.txt abc112.txt abc113.txt a\ (文件夹) CODE: >> dir('test')   %目录 .         ...

  4. 几次面试后才弄懂的HashMap

    本人大四,以前也开发过几个项目,Map相关集合也总用.但是从来没有研究过底层的实现,只知道杂用.结果在最开始的几次面试中一脸懵逼.认识到不足后,浅显的学习了一下,总结成一下几点.(如果写错了还望指正) ...

  5. @Controller注解

    Spring从2.5版本后开始引入注解,用户可以使用@Controller,@RequestMapping,@RequestParam,@ModelAttribute等类似这样的注解. @Contro ...

  6. Chrome浏览器调试Android的Webview

    chrome://inspect Android:4.4+ Chrome 30+ 首次使用需要FQ

  7. JAVA多线程之先行发生原则

    一.引子 如果java内存模型中所有的有序性都仅仅依靠volatile和synchronized来完成,那么有一些操作会变得很繁琐,但我们在编写java并发代码时并未感觉到这一点,这是因为java语言 ...

  8. 使用zii.widgets.CDetailView显示内容

    Yii里的CDetailView可以用来显示详细内容,有时会遇到显示的html内容是被转义过的,也就是原本是要显示html样式的,结果显示出来的内容却是把html当作普通文本了. 先看一个CDetai ...

  9. JBOD

    JBOD(Just a Bunch Of Disks)不是RAID,它是可以把不同容量的硬盘串连成一个大的逻辑盘,与RAID0不同的是在写入数据时是向一个硬盘写入,写满后再向下一个硬盘写. 尽管建议采 ...

  10. BZOJ 4129: Haruna’s Breakfast [树上莫队 分块]

    传送门 题意: 单点修改,求一条链的mex 分块维护权值,$O(1)$修改$O(S)$求mex...... 带修改树上莫队 #include <iostream> #include < ...