linux进程管理

Posted zcyqh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux进程管理相关的知识,希望对你有一定的参考价值。

1.进程的组成

一个进程包含内核中的一部分地址空间和一系列数据结构。其中地址空间是内核标记的一部分内存以供进程使用,而数据结构则用来纪录每个进程的具体信息。

最主要的进程信息包括:

  • 进程的地址空间图
  • 进程当前的状态( sleeping、stopped、runnable 等)
  • 进程的执行优先级
  • 进程调用的资源信息
  • 进程打开的文件和网络端口信息
  • 进程的信号掩码(指明哪种信号被屏蔽)
  • 进程的属主

PID:进程ID

每一个进程都会从内核获取一个唯一的ID值。绝大多数用来操做京城的命令和系统调用,都需要PID

指定操作的进程对象。

PPID:父进程ID

在unix和linux系统中,一个已经存在的进程必须克隆它自身来创建一个新的进程。当新的进程克隆后,最初的进程便作为父进程存在。

UID&EUID:真实用户ID和有效用户ID

一个进程的 UID 是其创建者的身份标志(也是对其父进程 UID 的复制)。通常只有进程的创建者和超级用户才有操作该进程的权限。

Niceness

一个进程的计划优先级决定了它能获取到的 CPU 时间。内核有一个动态的算法来计算优先级,同时也会关注一个 Niceness 值,来决定程序运行的优先顺序。

二.信号

信号属于进程级别的中断请求。它们可以作为进程间通信的手段,或者由终端发送以杀死,中断,挂起某个进程。

 

 

三。kill命令

kill命令常用来终止某个进程,它可以向进程传递信号(默认为TERM)

不带任何数字(信号)选项的kill命令1并不能保证进程被杀死,因为kill命令默认发送term信号,而term是可以被捕获,屏蔽或忽略的。

可以使用kill -9 pid命令强制杀死进程(9代表KILL信号,不可被捕获,屏蔽或者忽略)。

KILL命令需要指定进程的PID号

pgrep 命令可以通过程序名称(或其他属性如 UID)筛选进程号,pkill 命令可以直接发送指定信号给筛选结果。
如 sudo pkill -u ben
该命令将发送 TERM 信号给所有属于用户 ben 的进程。

 

 

killall 命令可以通过程序名称杀死指定进程的所有实例。如:

sudo killall apache2

 

 

 进程管理命令

  pstree

    通过树形结构显示进程关系

    yum install -y psmisc -y   安装命令

 

  ps

    查看进程状态--当前运行状态;(这一刻)

    PID进程ID

    TTY启动该进程的终端是谁  pts

    TIME进程累计再CPU上运行的时长

    CMD启动该进程命令程序

  ps的常用组合:

  ps -aux

    USER 进程所属用户

    PID

    

    %CPU
    %MEM
    VSZ virtual memory size 虚拟内存大小;进程自己再内存中真是占用的线性地址空间大小
  RSS 常驻内空间(不可以进行内存交换 -- swap)
    TTY

    STAT

 

 

top命令

  显示进程信息     top

  显示完整命令    top -c

  以批处理模式显示程序信息     top -b

  以累积模式显示程序信息    top  -s

  设置信息更新时间    top -d  3

  显示指定进程信息  top  -p  139     //显示进程号为139的进程信息,cpu

,内存占用率

  显示更新十次后退出   top  -n  10

  使用者将不能利用交谈式指令来对行程下命令  top -s

 

 

 

        

  

 

以上是关于linux进程管理的主要内容,如果未能解决你的问题,请参考以下文章

linux c 退出进程的代码

Linux进程管理

Linux系统管理10——进程和计划任务管理

Linux中的进程管理

Linux进程和计划任务管理

Linux进程和任务管理