你的位置:首页 > 操作系统

[操作系统]Linux进程操作信息


Linux进程操作简单小结

  linux上进程有5种状态: 

    1. 运行(正在运行或在运行队列中等待) 

    2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 

    3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 

    4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 

    5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) 


 

  ps命令用来静态查看目前系统中,有哪些正在执行,以及它们的执行情况。可以不加任何参数。

  ps  -a  :显示当前终端的所有进程信息。

  ps  -u  :以用户的格式显示进程信息

  ps  -x  :显示后台进程运行的参数

  本人喜欢直接三个参数连起来使用:ps  -aux  这样查到的信息更全更详细。

例:

参数说明:

USER:该 process 属于那个使用者账号的

PID :该 process 的号码

%CPU:该 process 使用掉的 CPU 资源百分比

%MEM:该 process 所占用的物理内存百分比

VSZ :该 process 使用掉的虚拟内存量 (Kbytes)

RSS :该 process 占用的固定的内存量 (Kbytes)

TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。

STAT:该程序目前的状态,主要的状态有

R :该程序目前正在运作,或者是可被运作

S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。

T :该程序目前正在侦测或者是停止了

Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态

START:该 process 被触发启动的时间

TIME :该 process 实际使用 CPU 运作的时间

COMMAND:该程序的实际指令



 

top动态查看进程使用状况

23:59:58  当前时间
up 10:22 系统运行时间,格式为时:分
2 user 当前登录用户数
load average: 0.00, 0.00, 0.00 系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

total 进程总数
running 正在运行的进程数
sleeping 睡眠的进程数
stopped 停止的进程数
zombie 僵尸进程数
Cpu(s):
xx% us 用户空间占用CPU百分比
xx% sy 内核空间占用CPU百分比
xx% ni 用户进程空间内改变过优先级的进程占用CPU百分比
xx% id 空闲CPU百分比
xx% wa 等待输入输出的CPU时间百分比
xx%hi:硬件CPU中断占用百分比
xx%si:软中断占用百分比
xx%st:虚拟机占用百分比

 

Mem:
1004412k total 物理内存总量
221404k used 使用的物理内存总量
783008k free 空闲内存总量
17268k buffers 用作内核缓存的内存量
Swap:
2031668k total 交换区总量
0k used 使用的交换区总量
2031608k free 空闲交换区总量
97902k cached 缓冲的交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。

 

序号 列名 含义
a PID 进程id
b PPID 父进程id
c RUSER Real user name
d UID 进程所有者的用户id
e USER 进程所有者的用户名
f GROUP 进程所有者的组名
g TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?
h PR 优先级
i NI nice值。负值表示高优先级,正值表示低优先级
j P 最后使用的CPU,仅在多CPU环境下有意义
k %CPU 上次更新到现在的CPU时间占用百分比
l TIME 进程使用的CPU时间总计,单位秒
m TIME+ 进程使用的CPU时间总计,单位1/100秒
n %MEM 进程使用的物理内存百分比
o VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
q RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
r CODE 可执行代码占用的物理内存大小,单位kb
s DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
t SHR 共享内存大小,单位kb
u nFLT 页面错误次数
v nDRT 最后一次写入到现在,被修改过的页面数。
w S 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
x COMMAND 命令名/命令行
y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
z Flags 任务标志,参考 sched.h


终止进程的介绍

kill    进程号      :终止某个进程

kill  -9  进程号   :强制终止某个进程

kill  -u  用户名   :终止某个用户的进程

这里就简单介绍常用的三种终止进程命令。


 

  Linux查看某一进程运行路径步骤只需三步:

一:先查看需要查询的进程的进程号,ps 或者 top 也行

二:Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息。

cd /proc/PID   :到达相应的进程目录下面。

三:运行ls -l

留意:

cwd符号链接的是进程运行目录。

exe符号连接就是执行程序的绝对路径。

cmdline就是程序运行时输入的命令行命令。

environ记录了进程运行时的环境变量。