监控和管理linux进程

1、什么是进程以及如何查看进程

进程是已启动的可执行程序的运行中的实例。进程有以下组成部分:已分配的内存地址空间;安全属性;程序代码的一个或多个执行线程;进程状态。

进程状态:运行中 R;睡眠 S D K;已停止 T;僵停 Z  X

如何列出进程

ps aux            显示所有进程,包含用户感兴趣的列,以及没有控制终端的进程

ps lax             提供更多技术详细信息

ps -ef             显示所有进程

top                 追踪显示进程

pstree            树形格式显示,可查看父子关系

ps                   若不使用选项,将选择有与当前用户相同UID并与调用ps所处同一终端关联的所有进程


2、作业和会话

作业控制是一种命令shell功能,允许单个shell实例运行和管理多个命令。没有作业控制时,父级shell分出子进程以运行命令,保持睡眠状态直到子进程退出。

前台进程是在终端窗口中运行的命令。

后台进程是以无终端的形式启动的,因为它不需要终端交互。在ps列表中,此类进程将在TTY列种显示一个?。

任务命令都可以在后台启动,只需在命令行中附加&符号。bash shell显示作业编号和新的子进程的PID。

jobs                               查看作业

ps  j                               显示作业信息

fg  %job number           将后台作业置于前台

bg %job number           在后台重新启动作业


3、中断进程

信号是专递至进程的软件中断。信号向执行中的程序报告事件。生成的信号的事件可以是错误或外部事件,或者来自于明确请求(如使用信号发送命令或键盘序列)。

信号编号        名称             定义                用途

     1              HUP             挂起                用于报告终端控制进程的终止,也用于进程重新初始化

     2              INT             键盘中断           导致程序终止,可被拦截和处理。ctrl-c发送

     3              QUIT           键盘退出           通过ctrl-\发送

     9              KILL              中断                立即终止程序,无法被拦截、忽略或处理

    15             TERM            终止                导致程序终止,可以被拦截、忽略或处理

    18             CONT           继续                 发送至进程使其恢复(若已停止)

    19             STOP            停止                 暂停进程,无法被拦截或处理

    20             TSTP           键盘停止            可以被拦截、忽略或处理,通过ctrl-z发送

用户向当前的前台进程发送信号,具体操作为键入键盘控制序列以暂停(ctrl-z)、中断(ctrl-c)或核心转储(ctrl-\)该进程。

向后台进程或另一会话中的进程发送信号,需要使用信号发送命令。

kill命令根据ID向进程发送命令,该命令可用于发送任何信号,而不仅仅是终止程序。

kill  -signal  PID 或者直接输入信号编号(如-9)

killall   -signal   command_patten        

killall   -signal  -u  username    command_patten

pkill  -signal  -G   GID    command_patten

pkill  -signal  -P   PID    command_patten

pkill  -signal  -t terminal_name  -U   UID  command_patten


4、监控进程活动

负载平均值:负载平均值是负载计算例程的结果。整体而言,它指的是最近1分钟、5分钟和15分钟内系统活动数据的三个显示值的平均值。

如何显示负载平均值

w

top

uptime

gnome-system-monitor

负载平均值除以系统中的逻辑cpu数,值低于1表示资源利用率较好,等待时间很短;值高于1表示资源饱和,而且有一定的服务等待时间。

top是系统进程的动态视图,显示摘要标题,以及与ps信息类似的进程或线程列表。

基本操作

?或h                                 交互式操作帮助

1、t、m                             切换到负载、线程和内存标题

1                                         标题中切换显示单独cpu信息或所有cpu汇总

u、U                                   交互式筛选过滤用户

M                                       按内存使用率,以降序排序

P                                         按处理器使用率,以降序排序

q                                         退出