18、linux命令-进程
操作系统中进程的生命周期是:
创建进程,(服务启动或软件的启动);进行运行状态;进程等待状态进行唤起;进程结束
通常主要关注是进行中间的三种状态linux c,三种状态之间装换关系如下:
1、就绪状态:表示进程早已做好了运行的打算状态,只要获得显存空间,就可以立刻执行。
2、阻塞状态:进程的个别恳求难以获取,暂时未能继续执行的状态。(进程只能自己阻塞自己,由于只有进程自己晓得还须要什么特定风波,才会开始运行)
3、执行状态:进程以步入显存linux命令tar,在CPU处理下,进行执行。
ps命令
显示所有进程;-u用户以及其他详尽信息。-x:显示没有控制终端的进程。linux中分别有五种进程:R:进程正在运行中;S:进程处于休眠状态,当某个条件触发时则改变。
D:进程不影响系统的异步讯号,及时用kill命令也不能停止。Z:进程早已中止,但进程描述符仍然存在,直至父进程调用wait4()函数,后进程释放。T停止:进程深受讯号后马上停止。注:(在linux中命令的参数格式有长短之分,长格式和短格式之间不能合并,长格式与长格式之间也不能合并,而短格式和短格式之间可以合并,合并后保留一个-即可,另外ps命令准许,参数不加-号,)
ps-ef:查看进程使用标准句型
ps-ef|grep进程:筛选出命令进程可以得到进程号,常常使用,拿来查看相关的进程状态。
ps-aux列举进程的ID号
这儿可以结合进程号linux 进程文件,使用kill命令,将进程杀害,
ps命令展示的信息如下:
F代表进行标志linux 进程文件,4是代表使用者为root;
S代表这个程序的状态(stat);
uid代表执行者的身分.
pid代表进行id号.
ppid代表父进程的id号
C表示进程占用cpu资源的比率
PRI指进程的执行优先级,值越小越被早执行.
NI这个是进程的nice值,表示进程可被执行的优先级的修正数值.
ADDR是内核函数,强调该进程在显存的那种部份.若果是执行的程序,通常就是-
SZ表示使用的显存大小
WCHAN表示目前这个程序是否在运行中,-表示正在运行.
TTY登陆这终端的位置.
TIME表示进程使用总cpu时间,
CMD:正在执行的命令行命令
top命令
top命令用于动态的监控进程活动与负载的相关信息,,
第一行:分别是:系统时间,运行时间,登陆终端数,系统负载(其中的三个数值分别是1分钟,5分钟,15分钟,的平均值,数值越小意味着负载越低,).
第二行:进程总量,,运行中的进程数,睡眠中的进程数,停止的进程数,僵死的进程数.
第三行:用户占用资源的比率,系统内核占用资源比率,改变优先级的进程资源比率,空闲资源比率,
第四行:数学显存总数,显存使用量,显存空闲量,作为内核缓存的显存量.
第五行:虚拟显存总数,虚拟显存使用量,虚拟显存空闲量,已被提早加载的显存量.
下边这种显示的当前进程的信息,和ps命令显示的内容差不多.该命令主要是可以动态的观测系统的使用情况.
pidof命令
该命令用于查询某个已知的指定进程的pid的值,比如:
pstree命令
该命令须要通过yum或其他方法安装后,就能使用.主要用于查看进程数之间的关系,可以清楚的看见子父进程之间的关系.
用于查看进程树之间的关系,即是各个进程之间父女关系,
-A:各进程树之间的联接以ASCII码字符来联接
-U:各进程树之间的联接以utf8字符来联接,个别终端可能会有错误
-p:同时列举每位进程的PID
-u:同时列举每位进程的所属帐号名称
该命令须要安装,yuminstallpsmisc-22.20-11.el7.x86_64-y#安装pstree命令
pgrep命令:
获得正在被调度的进程的相关信息,pgrep通过匹配程序命令,可以找到进程名.
-l同时显示进程名和pid
-o当匹配多个进程时,显示进程号最小的,
-n当匹配多个进程时,显示进程号最大的那种.注:进程号越大,并不一定意味着进程的启动时间越晚
pgrep命令拿来查看进程信息,一般会和kill命令来配合使用
pgrep进程名称(可以查看到进程号,再用kill杀害进程)
htop:
相比于top监控,有着好多自身优势.(须要安装htop工具)
二者相比上去,top比较冗长
默认支持图形界面的键盘操作
可以纵向或横向滚动浏览进程列表,便于看见所有的进程和完整的命令行
杀进程时不须要输入进程号等
vmstat命令
常见的Linux监控工具,可以彰显指定时间间隔的服务器的状态值,包括服务器的CPU的使用率,显存使用率,虚拟显存使用率,虚拟显存交换情况,IO读写情况,
用法:vmstat[-V][-n][-Sunit][delay[count]]
-V:显示vmstat版本信息
-n:只在开始时显示一次各数组名称
-a:显示活跃和非活跃显存
-d:显示各个c盘相关统计信息
-D:显示c盘总体信息
-p:显示指定c盘分区统计信息
-s:显示显存相关统计信息及多种系统活动数目
-m:显示slabinfo
-t:在输出信息的时侯也将时间一并输出下来
-S:使用指定单位显示。参数有k、K、m、M,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为
K(1024bytes)
delay:刷新时间间隔。假如不指定,只显示一条结果
count:刷新次数。假如不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷
常见问题处理(参考)
1、如果在processes中运行的序列(processr)是连续的小于在系统中的CPU的个数表示系统现今运行比较慢,有
多数的进程等待CPU。
2、如果r的输出数小于系统中可用CPU个数的4倍的话,则系统面临着CPU过剩的问题,或则是CPU的速度偏低,系
统中有多数的进程在等待CPU,导致系统中进程运行过慢。
3、如果空闲时间(cpuid)持续为0而且系统时间(cpusy)是用户时间的两倍(cpuus)系统则面临着CPU资源的匮乏。
lsof命令
lsof命令须要访问核心显存好文件,
是一个列举当前系统打开文件的工具,在linux环境下,任何事物都以文件的方式存在,通过文件不仅仅可以访问常规数据,还可以访问网路联接和硬件。所以如传输控制合同(TCP)和用户数据报合同(UDP)套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质怎样,该文件描述符为应用程序与基础操作系统之间的交互提供了通用插口。由于应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因而通过lsof工具才能查看这个列表对系统检测以及排错将是很有帮助的
句型格式:
lsofabc.txt显示开启文件abc.txt的进程
lsof-cabc显示出以字母abc开头进程现今打开的文件
lsof-p1234列举进程号为1234的进程所打开的文件
lsof-ggname/gid显示归属gname或gid的进程情况
lsof-uuname/uid显示归属uname或uid的进程情况
lsof+d/usr/local/显示目录下被进程开启的文件
lsof+D/usr/local/同上,并且会搜索目录下的目录,时间较长
lsof-d4显示使用fd为4的进程
lsof-i用以显示符合条件的进程情况
lsof-i[46][protocol][@hostname|hostaddr][:service|port]
46-->IPv4orIPv6
protocol-->TCPorUDP
hostname-->Internethostname
hostaddr-->IPv4地址
service-->/etc/service中的servicename(可以不止一个)
port-->端标语(可以不止一个)
如图:查看ssh服务进程
COMMAND:进程命令;PID:进程号;USER:进程所有者,FD:文件描述符,应用程序通过文件描述符辨识改文件.
TYPE:文件类型:1,DIR:目录;2CHR:表示字符类型;3.BLK:块设备,;4UNIX:UNIX域套接字.
5.FIFO:先进先出队列;6:IPV4:网际合同套接字.
DEVICE;指定c盘的名称
size:文件大小
NODE:索引节点
NAME:打开文件的准确名称