linux常用进程管理命令

进程的分类:

跟终端相关的进程

由某个终端产生的。


跟终端无关的进程

内核启动时加载的进程。


进程优先级:

数字越小,优先级越高。

0-99:内核调整

100-139:用户控制


nice值

默认值为0。范围为-20~19。分别对应到100-139。值越小,优先级越高。普通用户仅能调大自己的nice值。


调整nice值

调整已经启动的进程:

#renice NICENUM PID


在启动时指定nice值:

#nice -n NICENUM COMMAND


PID:Process ID


init:所有进程的父进程,进程号为1。


/proc下 每个文件夹都是一个进程


#ps Process Status

SysV风格:有斜线-。

BSD风格:没有斜线。


#ps [OPTION]

默认只显示前台进程。

[OPTION]

a 显示所有跟终端有关的进程。

x 显示所有跟终端无关的进程。

u 显示进程由哪个用户启动的。


-e 显示全部。

-F 显示更多详细信息。类似于-f

-L 长格式


-o PROPRIETY1,PROPRIETY2 ... 指定要显示的字段。

例如:

#ps -o pid,ni,comm


进程状态:

D 不可中断的睡眠。

R 运行或就绪。

S 可中断的睡眠。

T 停止。

Z 僵死。


< 高优先级的进程。

N 低优先级进程。

+ 前台进程组中的进程。

l 多线程进程。

s 会话进程的首进程。


常见字段格式:

#ps aux

USER 发起该进程的用户。

PID PID号。

%CPU 占用CPU时间的百分比。

%MEM 占用内存的百分比。

VSZ 虚拟内存集。

RSS 常驻内存集。

TTY 该进程关联的终端。

STAT 状态。

START 进程启动时间。

TIME 占用CPU时常。

COMMAND 启动该进程的命令。若命令外有[]则表示此为内核现线程,非用户进程。


#ps -eLF

UID 

PID

PPID 父进程号

PRI 优先级

NI nice值

PSR 正在运行在哪个CPU上



#pstree 显示进程树


#pgrep [OPTION] PATTERN以grep的风格显示进程。

[OPTION]

-u USERNAME 属主为USERNAME的,不一定是该用户发起的。

-U USERNAME 用户USERNAME发起的。


例如:

#grep -u root bash

显示属主为root的所发起的bash进程。


#pidof [OPTION] PROGNAME 根据程序名称找到该程序的pid的。

[OPTION]

例如:

#pidof sshd


#top [OPTIN]

默认每隔5秒刷新。

[OPTION]

-d SEC 指定刷新频率为SEC秒。

-b 批模式。不会刷新,而会翻屏以批显示。

-n SUM 在批模式下共显示显示SUM批。


显示格式:

PID

USER

PR

NI

VIRT 虚拟内存集

RES 常驻内存集

SHR 共享内存集

S 状态

%CPU

%MEM

TIME+ 占用CPU时长。

COMMAND 相关的进程名。


交互:

仅在当前刷新区间内有效。


M 根据驻留内存大小进行排序。

P 根据CPU使用百分比进行排序。

T 根据累计时间进行潘旭


l 是否显示平均负载和启动时间

t 是否显示进行和cpu状态相关信息

m 是否显示内存相关信息


c 是否显完成的命令行信息。

q 退出top命令。

k 终止某个进程。 



进程间通信(IPC Inter Process Communication)

共享内存

信号(Signal)

旗语(Semaphore)


#kill [OPTION] -SIG PID|%JOBID 终止一个进程

[OPTION]

-l 显示全部信号。


常用信号:

1;SIGUP

进程不用重启就可以重读其配置文件,并让新的配置信息生效。


2;SIGINT

中断一个进程。


9;SIGKILL

杀死一个进程。强行杀死。


15;SIGTERM

终止一个进程。允许其关闭文件释放内存等。默认信号。


指定一个信号:

信号号码:

#kill -15


信号名称

#kill -SIGTERM


信号名称简写

#kill -TERM


#killall COMMAND 通过进程名杀掉进程。



前后台作业:

前台作业:占据命令提示符。


后台作业:启动后释放命令提示符,后续的操作在后台完成。


前台-->后台:

Ctrl+z 把正在前台的作业送往后台 

COMMAND & 让命令在后台执行。


#jobs 查看所有的作业以及对应的作业号。

作业号不同于进程号。

+ 命令将操作的默认作业。

- 命令将操作的第二默认作业。


#bg [%JOBID] 让后台的停止作业继续运行。

省略JOBID默认启动带+号的作业。


#fg [%JOBID] 将后台的作业调回前台。



#vmstat SEC CONUT  系统状态查看命令


字段如下:

procs 进程相关

r 运行队列长度

b 阻塞队列长度


memory

swpd 交换内存已用空间

free 空闲内存

buff 用于缓冲

cache 用于缓存


swap 动态值,在指定观察窗口时间内。

si swap in 页面物理内存放到交换内存。

so swap out 页面从交换内存调回物理内存。


io

bi block in 磁盘块调入物理内存。

bo block out 内存同步到磁盘块上上。


system 系统内核空间相关

in 中断的个数。

cs 进程上下文切换的次数


cpu

us 用户空间占用cpu的百分比。

sy 内核空间占用cpu的百分比。

id CPU空闲百分比。

wa 等待IO

st 被偷走的百分比。


#uptime 显示结果等同于top命令的第一行。


#cat /proc/cpuinfo 查看cpu信息


#cat /proc/meminfo 查看内存信息


本文出自 “小私的blog” 博客,请务必保留此出处http://ggvylf.blog.51cto.com/784661/1613480

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。