一.进程简介
1.定义: 进程是程序处于一个执行环境中在一个数据集上的运行过程,它是系统进行资源分配和调度的一个可并发执行的独立单位。
进程是程序的一次执行,该进程可与其它进程并发执行;它是一个动态的实体,在传统的操作系统设计中,进程既是资源的基本分配单元,也是基本的执行单元。
2.进程和程序的区别
程序:二进制文件,静态/usr/bin/passwd,/usr/sbin/useradd
进程:是程序运行的过程,动态,有生命周期及运行状态。
3.进程的组成:已分配内存的地址空间;安全属性,包括所有权凭据和特权;程序代码的一个或多个执行线程;进程状态。Centos5/6系统进程: init
Centos7系统进程: systemd
4. 进程的生命周期:父进程复制自己的地址空间(fork)创建一个新的(子)进程结构。
每个新进程分配一个,唯一的进程 ID (PID),满足跟踪安全性之需。
任何进程都可以创建子进程。
所有进程都是第一个系统进程的后代:
5.进程状态:在多任务处理操作系统中,每个CPU(或核心)
在一个时间点上只能处理一个进程。
在进程运行时,它对CPU 时间和资源分配的要求会不断变化,
从而为进程分配一个状态,它随着环境要求而改变。
R 运行 S 睡眠 T停止 Z 僵尸 X死掉
二.进程管理process
1.目标:了解进程的相关信息(pid,ppid,当前进程状态,内存分配情况,cpu和已花费的实际时间,用户uid决定进程特权,进程名称)
2.静态查看进程ps 拼写process status
语法:ps a 显示现行终端机下的所有程序 ps u 以用户为主的格式来显示程序状况。 ps x 不以终端机来区分。
示例:
ps aux 输出字段含义:
3.进程排序
语法 :ps aux --sort %cpu 减号降序 加号升序
示例:
进程父子关系查看 ps -ef
自定义显示字段:ps axo
4.动态查看进程top
top技巧:top 回车 立刻刷新。按z彩色显示,按F,通过光标设置列的顺序。 -d 每秒刷新。-p 查看指定进程动态信息。
5.使用信号控制进程kill -l列出所有支持信号
示例:创建两个文件,查看终端号。通过一个终端,打开一个vim。通过另一个终端打开一个vim,再通过另一个终端,查询两个进程。最后发送信号15和9,观察程序状态。
6.进程优先级nice:Linux 进程调度及多任务,每个CPU在一个时间点上只能处理一个进程,通过时间片技术,来同时运行多个程序。
在top中显示的优先级有两个,PR值和nice值
NI: 实际nice值
PR(+20): 将nice级别显示为映射到更大优先级队列,-20映射到0,+19映射到39
优先级特性
nice 值越大: 表示优先级越低,例如+19
nice 值越小: 表示优先级越高,例如-20
查看进程 nice级别:
启动具有不同nice级别进程, 启动进程时,通常会继承父进程的 nice级别,默认为0。&后台运行程序
示例:
更改现有进程nice级别
7.作业控制:作业控制是一个命令行功能,也叫后台运行。
关键词介绍:foreground fg 前台进程;在终端运行命令,占领终端。background bg 后台进程:没有控制终端,看不见但是在后台运行。
示例:占领前台
运行后台,查看所有程序,jobs查看后台进程,调动后台到前台,最后消灭后台。ctrl + z可以将一个正在前台执行的命令放到后台,并且暂停
7.虚拟文件系统proc(了解)
定义:虚拟文件系统:采集服务器自身 内核、进程运行的状态信息
CPU:/proc/cpuinfo
内存:/proc/meminfo
内核:/proc/cmdline
Linux进程管理
最新推荐文章于 2024-09-03 16:00:00 发布