Linux进程及作业管理

简介:

一、进程查看及其管理工具

………………………………………………………………………………………………………………………

ps命令:报告当前进程的快照信息

  ps - report a snapshot of the current processes.

  选项:

    -A:显示所有进程与-e相同的效果 

    -a:不与终端相关的所有进程

    -u:与用户相关的进程

    -x:通常和a,u结合使用,显示出来比较全面的信息  

    -f:做一个更为完整的输出   

 常用的组合:

    ps -ef 以完整的信息显示所有进程信息 

    ps -efH 显示进程层次结构

    ps -aux  显示所有不与终端和与终端相关的进程完整信息 

    ps -axo pid,command,psr,pri,ni 自定义显示其进程号、进程命令、优先级、nice值

命令演示

1
2
3
4
5
6
7
8
9
10
11
12
[root@centos6 ~] # ps -ef |head -10
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 Aug19 ?        00:00:05  /sbin/init
root          2      0  0 Aug19 ?        00:00:00 [kthreadd]
root          3      2  0 Aug19 ?        00:00:00 [migration /0 ]
root          4      2  0 Aug19 ?        00:00:01 [ksoftirqd /0 ]
root          5      2  0 Aug19 ?        00:00:00 [stopper /0 ]
root          6      2  0 Aug19 ?        00:00:18 [watchdog /0 ]
root          7      2  0 Aug19 ?        00:06:04 [events /0 ]
root          8      2  0 Aug19 ?        00:00:00 [events /0 ]
root          9      2  0 Aug19 ?        00:00:00 [events_long /0 ]
[root@centos6 ~] #

    UID/PID/PPID:表示发起者、进程号、父进程号 

    C:代表CPU,单位为百分比  

    STIME:表示进程启动时间

    TTY:登录者的终端位置 

    TIME:cpu的运行时间   

    CMD:处罚进程命令

命令演示

1
2
3
4
5
6
7
8
9
10
[root@centos6 ~] # ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.1  19364  1264 ?        Ss   Aug19   0:05  /sbin/init
root          2  0.0  0.0      0     0 ?        S    Aug19   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    Aug19   0:00 [migration /0 ]
root          4  0.0  0.0      0     0 ?        S    Aug19   0:01 [ksoftirqd /0 ]
root          5  0.0  0.0      0     0 ?        S    Aug19   0:00 [stopper /0 ]
root          6  0.0  0.0      0     0 ?        S    Aug19   0:18 [watchdog /0 ]
root          7  0.2  0.0      0     0 ?        S    Aug19   6:05 [events /0 ]
root          8  0.0  0.0      0     0 ?        S    Aug19   0:00 [events /0 ]

    USER:进程的发起者   PID:进程号          %CPU:cpu的占用率

    %MEM:内存的占用率   VSZ:虚拟内存集       RSS:物理内存集 

    TTY:终端位置        STAT:进程状态信息    START:被触发的时间 

    TIME:cpu的使用时间  COMMAND:触发进程命令 

………………………………………………………………………………………………………………………

注:STAT的常见状态:

    R:running,运行状态                      

    S:interruptible sleeping,可终端休眠 

    D:uninterruptible sleeping,不可终端休眠  

    T:stop,停止状态
    Z:zombie,僵持状态  




top命令

 top - display Linux tasks:动态显示linux进程信息

wKiom1e6xIXwdL5hAAA77fp6C_c569.png

top - 17:24:30 up 2 days,  9:45,  3 users,  load average: 0.00, 0.01, 0.05

top  当前系统时间 系统启动到现在时间总长 用户数  平均负载   


Tasks364 total,   2 running361 sleeping,   1 stopped,   0 zombie

显示进程总量与个别程序处在什么样的状态运行 可中断 不可中断 僵持状态僵死状态


%Cpu(s):  0.3 us,  0.7 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

………………………………………………………………………………………………………………………

显示CPU的整体负载,具体如下:

    us:user space 用于使用空间

    sy:system space 内核占用cpu百分比

    ni:nice用户进程空间所改变过优先级的进程占用cpu的百分比

    id:idle空闲cpu百分比

    wa:wait i/0 等待i/o花费时间

    hi:hardware interrupt 

    si:software interrupt

    st:stolen,被虚拟内存偷走的百分比

………………………………………………………………………………………………………………………

KiB Mem :  1001332 total,   139212 free,   207732 used,   654388 buff/cache

物理内存占用使用情况


KiB Swap:  2098172 total,  2097620 free,      552 used.   531424 avail Mem

交换分区的使用情况  


上面一行通常为空,只要在输入命令时才显示,在这可输入的命令有如下:

    P:以占据的cpu的百分比大小进程排序

    M:以占据的memory大小进行排序

    T:以cpu的运行时长进行排序

    l:显示系统负载行

    t:是否显示系统进程摘要信息及其cpu的负载状态

    1:平均或单独显示cpu的负载状态

    m:是否显示内存相关的状态信息

    q:退出命令

    s:修改延长刷新时间

    k:终止指定进程

………………………………………………………………………………………………………………………   

top字段详解

wKioL1e62T2Cip78AAAVF76WtQ4158.png

  PID:进程号                          USER:进程发起者

  PR:进程的优先级,越小越优先         NI:nice值,与priortity有关,越小越早被运行

  VIRT:虚拟内存集 进程占虚拟内存空间   RES:物理内存集 进程占实际内存空间

  SHR:进程与其他进程共享的内存大小,   S:进程的状态信息

  %CPU:cpu的使用百分比                 %MEM:内存的使用百分比

  TIME+:cpu的使用时间的总时长          COMMAND:进程相关命令




htop命令:内部进程查看器

    htop - interactive process viewer

wKiom1e63gbTPlTcAABrL6WppSc691.png

    u:显示指定用户的进程

    l:显示光标所在进程所打开的文件列表

    s:显示光标所在进程执行的系统调用

    a:绑定进程到指定的cpu

    #:快速定位光标之pid为#号的进程上


htop支持的选项:

    -d:延长时长

    -u USERNAME:仅显示指定用户的进程

    -s COLUMN:根据指定的字段进行排序




二、Linux进程及作业管理

1、进程管理

 所谓的进程管理就是向进程发送一些控制信号,来完成对进程的管理控制,可通过kill命令来显示当前系统可用的信号,以及向进程发送信号指定。

     kill -l:显示当前系统可用的信号

wKioL1e64viAswotAAA_pdubdB8813.png

kill命令:

 用于向进程发送信号,以实现对进程的管理

 kill - terminate a process

每个信号的标识方式有三种:

    1)信号的数字标识 

    2)信号的完整名称

    3)信号的简写名称


向进程发信号:

    kill [-s signal|-p] [--] pid...

    kill -l [signal]


常见的信号有:

    1)SIGHUB  #无需关闭进程让其重读配置文件 kill -1 pid

    2)SIGINT  #终止正在运行的指令 相当于ctrl+c kill -2 pid  

    9)SIGKILL #强暴的杀死正在运行的进程 kill -9 pid 

    15)SIGNTERM#安全终止运行中的进程 kill -15 pid 

    19)SIGSTOP #停止进程


killall命令:killall命令后面接进程名

 killall - kill processes by name

2、作业管理 

 在每个用户登录系统之后每个工作进程都是当前bash的子进程,此时我们需要对那些进行管理,即将一部分作业放入后台运行,,同时在前台编辑一个配置文件,在编辑完配置文件后再将后台的作业任务调回前台运行。


如何将作业运行在后台:

    1)ctrl+z 

    2)command & 

wKioL1e66N_ApQvwAAALy_TFUPg669.png


作业控制命令:fg bg kill 

作业控制命令:

    # fg [[%]JOBNUM]: 将指定的作业调回前台

    # bg [[%]JOBNUM]: 让送往后台的作业在后台继续运行

    # kill[%JOBNUM]: 终止指定的作



本文转自chengong1013 51CTO博客,原文链接:http://blog.51cto.com/purify/1841222,如需转载请自行联系原作者

相关文章
|
4天前
|
消息中间件 算法 Linux
【Linux】详解如何利用共享内存实现进程间通信
【Linux】详解如何利用共享内存实现进程间通信
|
4天前
|
Linux
【Linux】命名管道的创建方法&&基于命名管道的两个进程通信的实现
【Linux】命名管道的创建方法&&基于命名管道的两个进程通信的实现
|
4天前
|
Linux
【Linux】匿名管道实现简单进程池
【Linux】匿名管道实现简单进程池
|
4天前
|
Linux
【Linux】进程通信之匿名管道通信
【Linux】进程通信之匿名管道通信
|
3天前
|
Linux 数据库
linux守护进程介绍 | Linux的热拔插UDEV机制
linux守护进程介绍 | Linux的热拔插UDEV机制
linux守护进程介绍 | Linux的热拔插UDEV机制
|
3天前
|
Unix Linux 调度
linux线程与进程的区别及线程的优势
linux线程与进程的区别及线程的优势
|
3天前
|
Linux 调度 C语言
|
4天前
|
存储 安全 Linux
【Linux】详解进程通信中信号量的本质&&同步和互斥的概念&&临界资源和临界区的概念
【Linux】详解进程通信中信号量的本质&&同步和互斥的概念&&临界资源和临界区的概念
|
1月前
|
Linux Shell 调度
【Linux】7. 进程概念
【Linux】7. 进程概念
43 3