进程管理常用命令

Linux系统上的进程查看及管理工具:pstree,ps,pidof,pgrep,top,htop,glances,pmap,vmstat,dstat,kill,pkill,job,bg,fg,nohup,nice,renice,killall,…
CentOS 5 :SysV init
CentOS 6 :upstart
CentOS 7 :systemd
pstree命令:
pstree – display a tree of processes
ps命令:
通过/proc/端口: 内核中的状态信息;
内核参数:
可设置其值从而调整内核运行特性的参数;
状态变量:其用于输出内核中通缉信息或状态信息,仅用于查看;
参数:模拟成文件系统类型;
进程:
/proc/#:
#:PID
ps – report a snapshot of the current processes
ps[options]:
选项有三种风格:
1.UNIX options, which may be grouped and must be preceded by a dash.
        2.BSD options, which may be grouped and must not be used with a dash.
        3.GNU long options, which are preceded by two dashes. 
        启动进程的方式:
        系统启动过程中自动启动:与终端无关的进程;
        用户通过终端启动:与终端相关的进程;
        选项:
        a:所有与终端相关的进程;(不是-a)
        x:所有与终端无关的进程;
        u:以用户为中心组织进程状态信息显示;

        常用组合之一:aux
        VSZ:占用的虚拟内存集;
        RSS:Resident Size,常驻内存集;
        STAT:
        R:running
        S:Interruptable sleeping
        D:uninterruptable sleeping
        T:Stopped
        Z:zomble
        +:前台进程
        l:多线程进程
        N:低优先级进程
        <:高优先级进程
        s:session leader

        -e:显示所有进程
        -f:显示完整格式的进程信息

        常用组合之二:-ef
        -F:显示完整格式的进程信息;
        C:cpu运行占用百分比
        PSR:运行于哪颗CPU之上
        -H:以层级结构显示进程的相关信息;

        常用组合之三:-eFH
        常用组合之四:-饿eo,axo
        o field1,field2:自定义要显示的字段列表,以逗号分隔;
        常用的field:pid,ni,pri,psr,pcpu,stat,comm,tty,ppid,rtprio
        ni:nice值;(范围-10 — +19)
        pri:priority,优先级;
        rtprio:实时优先级;
        pgrep,pkill命令:
        根据进程名字和其他属性对进程过滤的专用命令
        pgrep [options] pattern
        -u uid:effective user
        -U uid:read user
        -t TERMINAL :与指定的终端相关的进程;
        -l:显示进程名;
        -a:显示完整格式的进程名;
        -P pid:显示此进程的子进程;
        pidof命令:
        根据进程名获取其PID;
        top命令;
        排序:
        P:以占据CPU百分比排序;
        M:已以占据内存百分比排序;
        T:累计占用CPU时间排序;
        首部信息:
        uptime信息: l命令
        tasks及cpu信息:t命令
        内存信息:m命令
        退出命令:q
        修改刷新时间间隔:s
        终止指定的进程:k

        选项:
        -d#:指定刷新时间间隔,默认为3秒;
        -b:以批次方式显示;
        -n#:显示多少批次;

        uptime命令:显示系统时间、运行时长及平均负载;
        过去1分钟、5分钟和15分钟的平均负载;
        等待运行的进程队列的长度;

Linux进程及作业管理
htop命令:
选项:
-d#:指定延迟时间间隔;
-u UserName:仅显示指定用户的进程;
-s COLUME:以指定字段进行排序;
子命令:
l:显示选定的进程打开的文件列表;
s:跟踪选定的进程的系统调用;
t:以层级关系显示各进程状态;
a:将选定的进程绑定至某指定的CPU核心;
vmstat命令:
-Report virtual memory statistics

vmstat [options][delay][count]
procs:
r:等待运行的进程的个数;CPU上等待运行的任务的队列长度;
b:处于不可中断睡眠态的进程个数;被阻塞的任务队列的长度;
memory:
swpd:交换内存的使用总量;
free:空闲的物理内存总量;
buffer:用于buffer的内在总量;
cache:用于cache的内存总量;
swap:
si:数据进入swap中的数据速率(kb/s)
so:数据离开swap的速率(kb/s)
io:
bl:从块设备读入数据到系统的速度(kb/s)
bo:保存数据至块设备的速率(kb/s)
system:
in:interrupts,中断速率;
cs:context switch,上下文切换的速率;
cpu:
us:user space
sy:system
id:idle
wa:wait
st:stolen
选项:
-s:显示内存统计数据;
pmap命令:
– report memory map of a process
pmap [options] pid […]
-x:显示详细格式的信息;

另一种查看方式:cat /proc/PID/maps

glances命令:
內建命令:
常用选项:
-b:以Byte为单位显示网上数据速率;
-d:关闭磁盘I/O模块;
-m:关闭mount模块;
-n:关闭network模块;
-t#:刷新时间间隔;
-l:每个cpu的相关数据单独显示;
-o{HTML|CSV}:输出格式;
-f /PATH/TO/SOMEDIR:设定输出文件的位置
c/s模式下运行glances命令:
服务模式:
glances -s -B IPADDR

IPADDR:本机的莫地址,用于监听;

客户端模式:
glances -c IPADDR

IPADDR:是远程服务器的地址;
dstat命令:
– versatile tool for generating system resource statistics
dstat [-afv][options..][delay[count]]

常用选项:
   -c,-cpu:显示CPU相关信息
-C#,#,..,total
   -d,–disk:显示磁盘的相关信息
-D sda,sdb,..,tobal
   -g:显示page相关的速率数据;
   -m:Memory的相关数据;
   -n:Interface的相关统计数据;
   -p:显示process的相关统计数据;
   -r:显示io请求的相关的统计数据;
   -s:显示swapped的相关统计数据;

   –tcp
   –udp
   –raw
   –socket

   –ipc

   –top-cpu:显示最占用CPU的进程;
   –top-io:最占用io的进程;
   –top-mem:最占用内存的进程;
   –top-lantency:延迟最大的进程;
kill命令:
用于向进程发送信号,以实现对进程的管理;

显示当前系统可用信号:
kill -l [signal]

每个信号的表示方法有三种:
1)信号的数字标识;
2)信号的完整标识;
3)信号的简写名称;

向进程发信号:
kill [-s signal | -p] pid…

常用信号:
1)SIGHUP:无须关闭进程而让其重读配置文件;
2)SIGINT:中止正在运行的进程,相当于Ctrl+c
9)SIGKILL:杀死运行中的进程;
15)SIGTERM:终止正在运行中的进程;(通常是后台进程)
18)SIGCONT:继续
19)SIGSTOP:停止
killall命令:
killall [-SIGNAL] program

原创文章,作者:木,如若转载,请注明出处:http://www.178linux.com/75069

(0)
木
上一篇 2017-05-17
下一篇 2017-05-17

相关推荐

  • Linux命令的别名与管道命令的详解

    Linux中命令的别名与管道命令的详解 命令别名 在使用和维护liunx时,将会使用大量的命令,而一些命令加上参数时输入比较繁琐,此时我们可以定义一个别名来代替繁琐的命令。 系统定义的别名 可以输入 alias 命令查看系统中已经定义好的命令的别名; [root@localhost ~]# alias alias cp=’cp -i’ alias egrep…

    Linux干货 2018-03-03
  • 文本处理工具sed的使用以及Vim的使用技巧详解

    一、什么是sed     sed的英文全称是Stream EDitor,叫行编辑器。     sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容…

    Linux干货 2016-08-11
  • 脚本练习

    注:以下脚本练习实验都是以root用户身份执行的,若普通用户运行需要另加相应的权限 1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 [root@fengl bin]# vim systeminfo.sh [roo…

    Linux干货 2016-08-15
  • linux 路由配置及其网络组配置实例

    linux 路由配置及其网络组配置实例   §·路由配置 网络简单拓扑图如下:   ※·实例要求:主机A可以ping同主机B即可。 ※·实验步骤及其要点: 1.主机A设置IP地址与默认网关; 2.配置路由器1两接口的IP地址,并开启主机的路由功能,添加172.14.16.0路由条目; 3.配置路由器1两接口的IP地址,并开启主机的路由功能…

    Linux干货 2016-09-06
  • rsyslog基于mysql的日志集中存储,及loganalyzer日志分析工具的web配置

    Rsyslog是Linux系统自带的一款强大的日志系统,在业务量不是很大的情况下,能够满足大部分客户的日志分类搜集功能,是广大运维同事进行系统监控、分析不可或缺的利器。而在运维自动化高速发展的今天,如果我们还要“人工”智能的去每一个服务器上查看系统日志就显得太LOW了,并且,对我们来说也是一个不小的负担。 基于此,我们就简单的来介绍一下,rsyslog结合m…

    系统运维 2017-02-05
  • 马哥教育网络19期+第五周练习博客

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;   grep "^[[:space:]]\+.*" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; &n…

    Linux干货 2016-06-19