1.进程简介 1.进程概念: 进程是已启动的可执行程序的运行实例,进程有以下组成部分: • 已分配内存的地址空间; • 安全属性,包括所有权凭据和特权; • 程序代码的一个或多个执行线程; • 进程状态。 程序: 二进制文件,静态 /usr/bin/passwd ,/usr/sbin/useradd 进程: 是程序运行的过程, 动态,有生命周期及运行状态。 2.进程的生命周期: 父进程复制自己的地址空间(fork)创建一个新的(子)进程结构。 每个新进程分配一个,唯一的进程 ID (PID),满足跟踪安全性之需。 任何进程都可以创建子进程。 所有进程都是第一个系统进程的后代: Centos5/6系统进程: init Centos7系统进程: systemd 3.进程状态: 在多任务处理操作系统中,每个CPU(或核心) 在一个时间点上只能处理一个进程。 在进程运行时,它对CPU 时间和资源分配的要求会不断变化, 从而为进程分配一个状态,它随着环境要求而改变。 3.进程管理 process 1.静态查看进程 ps 指令:ps aux | head -3 2.ps aux输出字段的含义 USER: 运行进程的用户 PID: 进程ID %MEM: 内存占用率 VSZ: 占用虚拟内存 RSS: 占用实际内存 %CPU: CPU占用率 TTY: 进程运行的终端 STAT: 进程状态 START: 进程的启动时间 COMMAND: 进程文件,进程名 3.进程状态(常见) R:运行 S:睡眠sleep T:停止的进程 Z:僵尸进程 X:死掉的进程 4.进程排序 指令:ps aux --sort %cpu 5.进程的父子关系 指令:ps -ef 6.自定义显示字段(了解) 指令:ps axo 7.动态查看进程top top输出详解 top常用内部指令: h|?帮助 M 按内存的使用排序 P 按CPU使用排序 N 以PID的大小排序
< 向前
向后 z 彩色,Z设置彩色,使用数字调整
top技巧: 动态查看进程 top,像windows的任务管理器 top //回车,立刻刷新。按z彩色显示,按F,通过光标设置列的顺序。 top -d 1 //每1秒刷新。 top -d 1 -p 10126 查看指定进程的动态信息 top -d 1 -p 10126,1 查看10126和1号进程 8.使用信号控制进程kill 信号种类: 给进程发送信号(kill -l列出所有支持的信号) [root@qianfeng ~]# kill -l 编号 信号名 (1) SIGHUP 重新加载配置 (2) SIGINT 键盘中断Ctrl+C (3) SIGQUIT 键盘退出Ctrl+\,类似SIGINT (9) SIGKILL 强制终止,无条件 (15) SIGTERM 终止(正常结束),缺省信号 (18) SIGCONT 继续 (19) SIGSTOP 暂停 (20)SIGTSTP 键盘暂停Ctrl+Z 9.进程优先级nice 简介:Linux 进程调度及多任务 每个CPU在一个时间点上只能处理一个进程,通过时间片技术,来同时运行多个程序。 优先级范围和特性: 图示: 系统中的两种优先级:在top中显示的优先级有两个,PR值和nice值
NI: 实际nice值 PR(+20): 将nice级别显示为映射到更大优先级队列,-20映射到0,+19映射到39 优先级特性: nice 值越大: 表示优先级越低,例如+19 nice 值越小: 表示优先级越高,例如-20 查看优先级级别: 指令:ps axo pid,command,nice --sort =-nice 启动具有不同nice级别的进程: 默认情况:启动进程时,通常会继承父进程的 nice级别,默认为0。 更改现有进程的nice级: 4.作业控制 jobs(了解) 简介:作业控制是一个命令行功能,也叫后台运行。 指令: foreground:fg 前台进程:是在终端中运行的命令,占领终端。 background:bg 后台进程:没有控制终端,它不需要终端的交互。看不见,但是在运行。 后台程序控制示例: 1.观察占领前台的现象: 2.运行后台程序 3.ps查询所有程序。 4.jobs查看后台进程。 5.调动后台程序至前台。 6.消灭后台进程 注意:“kill 1” 和 “kill %1” 不同, 前者终止PID为1的进程, 后者杀死作业序号为1的后台程序。 5.虚拟文件系统 proc (了解) 1.概念:虚拟文件系统:采集服务器自身 内核、进程运行的状态信息 2.CPU:/proc/cpuinfo: 3.内存:/proc/meminfo: 4.内核:/proc/cmdline