进程
一.进程介绍
内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、 安全功能等。
Process: 运行中的程序的一个 副本,是被 载入内存的一个指令集合。
进程ID (Process ID ,PID )号码被用来标记各个进程
UID 、GID 、和SELinux 语境决定对文件系统的存取和 访问权限,
通常 从执行进程的用户来继承。
存在生命周期
task struct :Linux 内核存储进程信息的数据结构格式
task list :多个任务的的task struct 组成的链表
进程创建:
init :第一个进程
父子关系
进程:都由其父进程创建,COW
fork(), clone()
二、进程管理常用命令
v Linux 系统状态的查看及管理工具:pstree, ps, pidof,pgrep, top, htop, glance, pmap, vmstat, dstat, kill,pkill, job, bg, fg, nohup
1.pstree-打印进程树
2.ps—列举进程
常用的选项:
a 选项包括所有终端中的进程
x 选项包括不连接终端的进程
u 选项显示进程所有者的信息
f 选项显示进程的父进程
o 属性..选项显示定制的信息:pid、comm、%cpu、%mem、state、tty、euser、ruser
常用组合选项:
ps aux
ps -ef (-e 显示所有进程 -f 显示完整格式程序信息)
ps -eFH(-F 显示更完整格式的进程信息 -H 以进程层级格式显示进程相关信息)
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm
3.pidof—查询进程号
pidof command 例如:pidof bash
4.pgrep—搜索进程
选项
-u uid:effercive user 生效者
-U uid:real user,真正发起运行命令者
-t 指定终端相关的进程
-l 显示进程名
-a 显示完整格式的进程名
-P 显示之地进程的子进程
5.top——可以动态持续地显示监控的过程
第六行可以输入命令:
P 以占据的CPU百分比大小排序
M 以占据Memory空间大小排序
T CPU累积占用时间排序
l 是否显示系统负载行
t 是否显示进程摘要信息及CPU负载状态
1 平均或单独显示CPU的负载状态
m 是否显示内存相关的状态信息
s 修改延迟时长 k 终止指定进程 q 退出命令
6.htop—top的增强版
需要epel源来进行安装
7.vmsate—动态显示系统资源使用情况
vmsate -s 将一些事件导致的内存变化情况列表说明
-S 后面可以接单位,如K、M取代bytes的容量。
8.glances—-由python语言开发,能监视CPU、负载、内存、磁盘I/O、网络流量、文件系统、系统温度。
计划任务
一、at任务
命令格式:at [option] TIME
常用选项:
-V 显示版本信息
-l 列出指定队列中等待运行的作业,相当于atq
-d 删除指定的作业,相当于atrm
-c 查看具体的作业任务
-f /path/from/somefile:从指定文件中读取任务
-m 当任务被完成后,将给用户发送邮件,及时没有标准输出。
TIME选项说明:定义何时完成at中的任务
HH:MM[YYYY-mm-dd]
noon,midnight,teatime(4pm)
tomorrow
now+#{minutes,hours,days,or weeks}
二、corn—-周期性任务计划
1.介绍 周期性任务计划:cron
相关的程序包:
cronie: 主程序包,提供crond 守护进程及相关辅助工具
cronie-anacron :cronie 的补充程序;用于监控cronie任 任
务执行状况;如cronie 中的任务在过去该运行的时间点未能正常
运行,则anacron 会随后启动一次此任务
crontabs :包含CentOS提供的系统维护任务
2.crond的状态
查看crond 守护处于运行状态:
CentOS 7:
systemctl status crond
CentOS 6:
service crond status
计划周期性执行的任务提交给crond ,到指定时间会自动运行
系统cron 任务:系统维护作业
/etc/crontab
用户cron 任务:
crontab 命令
日志:/var/log/cron
@reboot Run once after reboot.
@yearly 0 0 1 1 *
@annually 0 0 1 1 *
@monthly 0 0 1 * *
@weekly 0 0 * * 0
@daily 0 0 * * *
@hourly 0 * * * *
三、crond的命令
crond [-u user ] [-l |-r |-e ] [-i]
-l 列出所有任务
-e 编辑任务
-r 移除所有任务
-i 同-r一起使用,以交互式模式移除指定任务
原创文章,作者:yaobinbin,如若转载,请注明出处:http://www.178linux.com/75650