一、程序和进程的关系及概述
1.1程序和进程的关系
程序
①保存在硬盘、光盘等介质中的可执行代码和数据
②静态保存的代码
进程
①在CPU及内存中运行的程序代码
②动态执行的代码
③父、子进程
④每个程序可以创建一个或多个进程
1.2程序的概述
程序是保存在外部存储介质中的可执行的机器代码和数据的静态集合。就是具有可执行代码和执行权限的文本文件,它只是被保存在硬盘,不占用其他的系统资源。比如passwd,它就是一个程序,它可以更改用户密码,它也是一个文件,一个可执行的文件。
1.3进程的概述
①进程就是运行起来的程序,它占用系统各方面的资源,如cpu、内存、网络、磁盘等。每个程序启动后可以创建一个或多个的进程,每个进程都有一个自己的PID,这是个随机产生的并且不是固定的。又有自己的进程状态。
②进程是个动态的概念,他是随着程序运行而开启,程序不运行来了他也就不存在了,进程是程序执行的过程。
1.4进程的五大状态
1.运行状态/正在运行的状态
2.可中断睡眠状态
3.不可中断睡眠状态
4.僵尸进程
5.停止状态/暂停状态
6.已死状态
1.5僵尸进程
1.5.1僵尸进程的含义
僵尸进程是处于僵死状态每个的进程(只要子进程退出,父进程还在运行,但父进程没有读取子进程状态,子进程便进入Z状态)
1.5.2产生原因:
子进程先于父进程退出,父进程(使用wait()系统调用)没有读取到子进程退出的返回代码,这时候子进程为了保存退出原因,因此进入僵死态不会释放所有资源。僵死进程会以终止状态保持在进程表中,并且会⼀直在等待父进程读取其退出状态代码。
1.5.3危害:
维护退出状态本身就是要用数据维护,也属于进程基本信息,所以保存在task_struct(PCB)中,假如⼀个父进程创建了很多子进程,但是不回收,就会造成内存资源的浪费,资源泄露。
1.5.4孤儿进程(可了解)
相对于僵尸进程,那么必须提到的就是孤儿进程,同僵尸进程相反,假如父进程先于子进程退出,子进程便进入后台运行,成为孤儿进程,孤儿进程随后会被 1号init进程领养并回收,也就是将其父进程变为init进程。
二、查看进程信息
2.1查看系统中的进程
[root@localhost ~]# ps aux
或
[root@localhost ~]# ps -ef
%CPU 占用cpu的百分比
%MEM 占用内存的百分比
VSZ 分配总虚拟内存
RSS 实际用到的物理内存
TTY 进程运行在那个终端
tty1 本机终端运行的状态
pts 通过远程终端连接
STAT 状态 一个S可中断睡眠状态
START 进程触发的时间
TIME 占用CPU的时间
COMMAND 执行这个进程的命令。没带括号的是用户态,【】 带括号内核态产生的
D 不可中断的
Z 僵死状态
T 停止状态
R 正常运行的状态
s 可控制性的进程
< 具有高优先级
N 具有低优先级
l 是多线程
- 当前进程运行在前台
Ctrl+Alt+F2-F6(字符性界面) F1图形化界面
2.2查看父进程
[root@localhost ~]# ps -ef | head
2.3 更详细查看父进程
[root@localhost ~]# ps -elf | head
PRI:优先级,值越小越优先;不能人为更改,内核自己计算
NI:可以调整影响优先级PRI的大小;只能root可以修改值
这两个成对出现,若PID=80,NI=0,想要更改优先级,就把NI=-20,PRI就变成60
2.4top命令
[root@localhost ~]# top
cpu排序默认3s更新一次,“s”键更改排序秒数,会出现 change delay from 3.0 to
设置刷新时间
[root@localhost ~]# top -d 5
指定输出的内容
[root@localhost ~]# ps -o user,pid
查看系统平均负载均衡
[root@localhost ~]# top | head -1
[root@localhost ~]# uptime
[root@localhost ~]# cat /proc/loadavg
2.5pstree命令
查看进程树
[root@localhost ~]# pstree
查看进程树是由谁产生的 pstree -u
显示进程的PID pstree -p
2.6pgrep命令
查看运行的进程号
[root@localhost ~]# pgrep -u shaole
查看运行的进程号和进程名
[root@localhost ~]# pgrep -u shaole -l
三、杀死进程-kill
3.1kill命令
kill 进程号:指终止程序友好的杀死进程,;进程工作做完之后终止
3.2、killall 命令
命令用于终止某个指定名称的服务所对应的全部进程
killall 进程:批量结束服务程序带有的全部进程
3.3pkill命令
四、进程相关配置操作
进程后面+d,表示是daemon守护进程
图形化界面:
ctrl+alt+f1键:图形界面
ctrl+alt+f2-6键:字符界面
starts:返回图形界面(打开新的图形界面)
4.1命令模式:ctrl+z:调到后台
比如vim tom:编辑内容到一半需要做别的事情,就可以把编辑一半的资料放在后台