Linux系统软件管理linux
1、Linux进程管理
在计算机中,数据的存储位置通常有两种:硬盘和内存。数据存储在硬盘中交文件,存储在内存中叫进程。对硬盘中数据进行操做时,咱们要知道文件名称,对内存中数据进行操做时,须要知道进程号。nginx
硬盘中文件与内存中进程之间的关系:在执行或处理硬盘中数据时,系统须要加载到内存中执行,文件的数据被加载到内存后,就变成了进程。缓存
2、进程查看
2.1 ps命令
描述:查看系统全部进程(静态显示)。安全
用法:ps [参数]bash
主要参数:网络
名称多线程 |
说明ssh |
aide |
显示当前终端下全部进程信息spa |
u |
使用以用户为主的格式输出进程信息 |
x |
显示当前用户全部终端下进程信息 |
-e |
显示全部进程信息,环境变量 |
-f |
使用完整格式显示进程信息 |
-r |
显示正在运行的进程 |
-l |
长格式显示 |
au |
显示较详细信息 |
aux |
显示包含其余使用者的详细的进程信息 |
最经常使用:ps -ef / pe aux
(1)ps -ef
[root@test ~]# ps -ef
显示信息说明:
UID |
PID |
PPID |
C |
STIME |
TTY |
TIME |
CMD |
用户ID |
进程ID |
父进程ID |
进程占用CPU百分比 |
进程启动时间 |
进程在哪一个终端上运行。 |
该进程实际使用CPU运行的时间 |
命令名称及参数 |
TTY值:若与终端无关,则显示? 若为pts/0等,则表示由网络链接主机进程。
(2)ps aux
[root@test ~]# ps aux
显示信息说明:
USER |
PID |
%CPU |
%MEM |
VSZ |
RSS |
TTY |
STAT |
COMMAND |
用户名 |
进程ID |
CPU占用率 |
内存占用率 |
虚拟资源使用率 |
物理资源使用率 |
进程在哪一个终端运行(窗口号) |
状态 |
命令名称及参数 |
说明:linux系统进程状态:STAT状态位常见的状态字符
名称 |
说明 |
R |
Running,运行进程,随时调运CPU、内存资源 |
S |
自睡眠进程,触发前处于待机状态(减小资源占用) |
D |
强制睡眠进程,两进程同时运行,内核限制其中一个处于中止状态 |
Z |
僵尸进程,进程终止时,向父进程提交返回值,释放资源,提交与释放之间的特殊状态 |
T |
中止进程 |
< |
高优先级的进程 |
N |
较低优先级的进程 |
L |
有些页被锁进内存 |
s |
进程的领导者(在它之下有子进程) |
l |
多线程,克隆线程(使用 CLONE_THREAD,) |
+ |
位于后台的进程 |
2.2 top命令
描述:查看系统全部进程(动态显示)。
用法:top [参数]
主要参数:
名称 |
说明 |
-d |
指定每两次屏幕信息刷新时间间隔 |
-p |
经过监控进程ID来监控某个进程状态 |
-q |
该选项使top无延迟进行刷新 |
-S |
指定累计模式 |
-s |
使top在安全模式下运行 |
-i |
使top不显示任何闲置或僵尸进程 |
-c |
显示整个命令行而不是只显示命令名称 |
Top命令结果说明:
(1)top
第一行:任务队列信息,同uptime结果相同
17:14:14当前时间;up 12 days, 18:01:系统运行时间;
2 user:当前登陆用户数;load average: 0.00, 0.00, 0.00:系统负载信息
第二行:进程相关信息
total:进程总数 running:正常运行进程数;sleeping:睡眠状态进程数; stopped:中止的进程数 zombie:僵尸进程数
第三行:CPU使用状况
us:用户空间占用CPU百分比; sy:内核空间占用CPU百分比;
ni:改变过优先级的进程占CPU百分比; id:空闲CPU百分比;
wa:IO等待占用CPU百分比; hi:硬中断占用CPU百分比;
si:软中断占用CPU百分比; st:虚拟机占用百分比。
第四行:内存状况
Total:物理内存总量; used:使用的物理内存总量
free:空闲内存总量; buffers:用做内核缓存的内存量
第五行:swap内存状况
total:交换分区总量; used:使用的交换分区总量
free:空闲交换分区总量;
cached:缓冲的交换分区总量,内存中的内容被换出到交换分区,而后又被换入到内存,但使用过的交换分区还没有被覆盖,该数值即为这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可没必要再对交换分区进行写入。
各进程的详细信息,各字段含义:
字段 |
含义 |
PID |
进程id |
USER |
进程全部者 |
PR |
优先级 |
NI |
Nice值,负值优先级最高,正值表示低优先级 |
VIRT |
进程使用的虚拟内存总量 |
RES |
进程使用的、未被换出的物理内存大小 |
SHR |
共享内存大小 |
S |
进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/中止,Z=僵尸进程) |
%CPU |
CPU占有率 |
%MEM |
没存占有率 |
TIME+ |
进程占用CPU时间 |
COMMAND |
命令名/命令行 |
进程优先级:
系统对进程进行调动时,系统内核给每一个进程一些计数器,内核选择拥有计数器最多的进程优先执行。Linux系统进程优先级范围-20~19,数值越小,优先级越高。(top命令执行后,执行r,输入进程id号,回车,在输入优先级号,回车,可修改进程优先级。)
nice -n -19 top #以-19的优先级执行top命令。
renice -n -19 -p 8888 #修改进程号8888的优先级为-19.
top其余经常使用操做:
(1)top #显式全部进程状况 (2)top -d 10 #每隔10秒显式全部进程状况 (3)top -c #显示进程的命令行详细信息(默认只有进程名) (4)top -p 8888 -p 9999 #显示pid是8888和9999两个进程信息 (5)top -d 2 -c -p 8888 #每隔2秒显示pid是8888的进程状况,并显式该
3 进程查询
3.1 pgrep命令
描述:经过匹配其程序名,找到匹配的进程。
用法:pgrep [参数选项] 程序名
主要参数:
必要参数 |
做用 |
-l |
同时显示进程名和pid |
-o |
当匹配多个进程时,显示进程号最小的那个 |
-n |
当匹配多个进程时,显示进程号最大的那个 |
注:进程号越大,并不必定意味着进程的启动时间越晚。
(1)查看ssh进程
[root@test ~]# pgrep -l ssh
4 进程先后台调度相关命令
(1)ctrl+z 将当前进程调入后台并中止执行
(2)jbos 查看后台任务列表
(3)fg n 将后台进程置于前台执行,n为jbos序号
(4)bg n 将后台暂停的进程恢复到后台执行,n为jbos序号
5 结束进程相关命令
(1)ctrl+c 结束当前进程;
(2)kill命令
kill 进程pid #结束指定进程 kill -9 进程pid #强制结束指定进程 kill -9 $(ps -ef |grep 用户名) #强制结束指定用户进程 kill -u 用户名 #强制结束指定用户进 kill -l 显示kill全部信号选项 只有第9种信号(SIGKILL)才能够无条件终止进程,其余信号进程都有权利忽略。下面是经常使用的信号: HUP 1终端断线;INT 2 中断(同 Ctrl + C); QUIT 3 退出(同 Ctrl + \);TERM 15 终止; KILL 9 强制终止;CONT 18 继续(与STOP相反, fg/bg命令) STOP 19 暂停(同 Ctrl + Z)
(3)killall命令
killall命令用于杀死指定名字的进程 killall 程序名 #杀死指定名称的全部进程 killall nginx #杀死全部nginx进程 killall -9 ssh #杀死全部ssh进程
(4)pkill命令
pkill 和killall 应用方法差很少,也是直接杀死运行中的程式;若是你想杀掉单个进程,请用kill 来杀掉。
pkill -t tty1 #杀死终端1下的全部进程 pkill -kill -t pts/2 #踢用户 pkill -9 888 #完全杀死进程888 pkill -u test #杀死指定用户test的全部进程 pkill -vu root #杀死不属于root用户的全部进程
我的公众号: