? 已分配内存的地址空间;
? 安全属性,包括所有权凭据和特权;
? 程序代码的一个或多个执行线程;
? 进程状态。
程序: 二进制文件,静态 /usr/bin/passwd ,/usr/sbin/useradd
进程: 是程序运行的过程, 动态,有生命周期及运行状态。
2.进程的生命周期:父进程复制自己的地址空间(fork)创建一个新的(子)进程结构。
每个新进程分配一个,唯一的进程 ID (PID),满足跟踪安全性之需。
任何进程都可以创建子进程。
所有进程都是第一个系统进程的后代:
3.在多任务处理操作系统中,每个CPU(或核心)
在一个时间点上只能处理一个进程。
在进程运行时,它对CPU 时间和资源分配的要求会不断变化,
从而为进程分配一个状态,它随着环境要求而改变。
- 静态查看进程状态ps
-
ps aux :ps a 显示现行终端机下的所有程序
ps u 以用户为主的格式来显示程序状况。
ps x 不以终端机来区分。
6.
USER: 运行进程的用户
PID: 进程ID
%CPU: CPU占用率
%MEM: 内存占用率
VSZ: 占用虚拟内存
RSS: 占用实际内存
TTY: 进程运行的终端
STAT: 进程状态 (R:运行)
(S:睡眠;sleep)
(T:停止的进程)
(Z:僵尸进程)
(X:死掉的进程)
START: 进程的启动时间
TIME: 进程占用CPU的总时间 分钟:秒
COMMAND: 进程文件,进程名
7.进程排序: ps aux --sort %cpu
减号是降序: ps aux --sort -%cpu
8.进程的父子关系:ps -ef
9.自定义显示字段:pa axo
ps axo user,pid,ppid,%mem,command | head -3
10.动态查看进程:top
(1)top - 11:45:08 up 18:54, 4 users, load average: 0.05, 0.05, 0.05
(2)Tasks: 176 total, 1 running, 175 sleeping, 0 stopped, 0 zombie
(3)%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
(4)KiB Mem : 3865520 total, 1100000 free, 580268 used, 2185252 buff/cache
(5)KiB Swap: 4063228 total, 4063228 free, 0 used. 2917828 avail Mem
9.字段介绍:
(1)VIRT:virtual memory usage 虚拟内存;需要这些内存,但并没有占满。
(2)RES:resident memory usage 常驻内存;用了多少内存
(3)SHR:shared memory 共享内存;1、除了自身进程的共享内存,也包括其他进程的共享内存 2、共享内存大小公式:RES – SHR
10.top常用内部指令 h|?帮助
M 按内存的使用排序
P 按CPU使用排序
N 以PID的大小排序< 向前 > 向后 z 彩色,Z设置彩色,使用数字调整
11.使用信号控制进程kill 信号种类:
给进程发送信号(kill -l列出所有支持的信号)
[root@localhost ~]# kill -l
编号 信号名
1) SIGHUP 重新加载配置
2) SIGINT 键盘中断Ctrl+C
3) SIGQUIT 键盘退出Ctrl+\,类似SIGINT
9) SIGKILL 强制终止,无条件
15) SIGTERM 终止(正常结束),缺省信号
18) SIGCONT 继续
19) SIGSTOP 暂停
20)SIGTSTP 键盘暂停Ctrl+Z
12.创建两个文件,查看终端号 :touch 1.1 touch2.2
第三个终端查询两个进程 ps aux |grep vim
13.发送信号15 :kill -15 7184
14.输入信号9 :kill -9 7207
观察两个终端,一个正常终止,一个非法杀死。
15.作业控制 jobs
作业控制是一个命令行功能,也叫后台运行。
foreground 简称 fg 前台进程:是在终端中运行的命令,占领终端。
background简称 bg 后台进程:没有控制终端,它不需要终端的交互。看不见,但是在运行。
16.运行一个程序,当前终端无法输入。观察占领前台的现象。
大部分命令行输入已经无效。 leep 2000
ctrl+c 终止进程
17.sheep 3000 &运行后台程序
18.查询运行后台程序 jobs
19.调动后台程序至前台。fg 1 //将作业1调回到前台
20.消灭后台进程 : kill %1
注意,“kill 1” 和 “kill %1” 不同,
前者终止PID为1的进程,
后者杀死作业序号为1的后台程序。
21.虚拟文件系统proc
简介:虚拟文件系统:采集服务器自身 内核、进程运行的状态信息
cpu:/proc/cpuinfo
内存:/proc/meminfo
内核:/proc/cmdline