Linux进程查看与管理命令总结

Linux进程查看与管理命令总结

  • 内核的功能:

    • 进程管理

    • 文件系统

    • 网络功能

    • 内存管理

    • 驱动程序

    • 安全功能

  • Process:运行中程序的一个副本。(存在生命周期)

  • Linux内核存储进程信息的固定格式:task struct

    • 多个任务的task struct组件的链表:task list

  • 进程创建:

    • init

      • 父子关系

      • 进程:都有其父进程创建

        • fork(),clone()

    • 进程优先级:

      • 0-139:

        • 1-99:实时优先级:数字越大,优先级越高

        • 100-139:静态优先级:数字越小,优先级越高

        • Nice值:-20,19

      • Big O标准

        • O(1),O(logn),O(n),0(n^2),O(2^n)

    • 进程内存

      • Page Frame:页框,用存储页面数据

        • 存储Page

        • MMU:Memory Management Unit

    • IPC:Inter Process Communicarion(进程通信机制)

      • 同一主机上:

        • signal

        • shm:shared memory

        • semerphor

      • 不同主机上:

        • rpc:remote procecure call(远程过程调用)

        • socket:

  • Linux内核:抢占式多任务

    • 进程类型:

      • 守护进程:在系统引导过程中启动的进程,与终端无关的进程。

      • 前台进程:跟终端相关,通过终端启动的进程

        • 注:也可将在前台启动的进程送往后台,以守护模式运行。

    • 进程状态

      • 运行态:running

      • 就绪态:ready

      • 睡眠态:

        • 可中断:interruptable

        • 不可中断:uninterruptable

      • 停止态:暂停于内存中,但不会被调度,除非手动启动之:stopped

      • 僵死态:zombie

    • 进程的分类:

      • cpu-Bound

      • IO-Bound

  • Linux系统上的进程查看及管理工具:pstree,ps,pidof,pgrep,top ,htop,glances,pmap,vnstat,dstat,kill,pkill,job,bg,fg,nohup,nice,renice,killall,…

    • pstree命令:pstree-display a tree of processes

    • ps命令:

      • /proc/:内核中的状态信息;

        • 内核参数:

          • 可设置其值从而调整内核运行特性的参数;/proc/sys/

          • 状态变量:其用于输出内核中统计信息或状态信息,仅用于查看;

      • 进程:

        • /proc/#:(#:PID)

      • ps-report a snapshot of the current processes

        • ps[options]

          • 选项有三种风格:

            • UNIX options,which may be grouped and must be preceded by a dash。

            • BSD options,which may be grouped and must not be used with a dash。

            • GNU long options,which are preceded by two dashes。

          • 启动进程的方式:

            • 系统启动过程中自动启动:与终端无关的进程;

            • 用户通过终端启动:与终端相关的进程;

          • 选项:

            • a:所有与终端相关的进程;

            • x:所有与终端无关的进程;

            • u:以用户为中心组织进程状态信息显示;

          • 常用组合之一:aux

            • VSZ:虚拟内存集;

            • RSS:Resident Size,常驻内存集;

            • STAT:

              • R:running

              • S:interruptable sleeping

              • D:uninterruptable sleeping

              • T:Stopped

              • Z:zombie

              • +:前台进程

              • I:多线程进程

              • N:低优先进程

              • <:高级优先进程

              • s:session leader

          • 常用组合二:-ef

            • -F:显示完整格式的进程信息;

              • C:cpu utilization

              • PSR:运行于那颗CPU之上

            • -H:以层级结构显示进程的相关信息;

          • 常用组合三:-eFH

          • 常用组合四:

            • o field1,field2,…:自定义要显示的字段列表,以逗号分隔;

              • 常用的field:pid,ni,pri,psr,pcpu,stat,comm,tty,ppid,rtprio

                • ni:nice值

                • pri:priority,优先级;

                • rtprio:real time priority;实时优先级;

    • pgrep,pkill命令:-look up or signal processes based on name and other attributes

      • pgrep[options]pattern

        • -u uid:effective user

        • -U uid:read user

        • -t TERMINAL:与指定的终端相关的进程;

        • -l显示进程名;

        • -a:显示完整格式的进程名;

        • -P pid:显示此进程的子进程;

    • pidof命令:

      • 根据进程名,取其pid;

    • top命令;

      • -display Linux processes

        • 排序:

          • P:以占据cpu百分比排序;

          • M:以占据内存百分比排序;

          • T:以占用cup时间排序;

        • 首部信息:

          • uptime信息:I命令

          • tasks及cpu信息:t命令

          • 内存信息:m命令

        • 退出命令:q

        • 修改刷新时间命令:s

        • 终止指定的进程:k

        • 选项:

          • -d #:指定刷新时间间隔,默认为3秒;

          • -b:以批次方式显示;

          • -n #:显示多少批次;

    • uptime命令:显示系统时间、运行时长及平均负载;

      • 过去1分钟、5分钟和15分钟的平均负载;

        • 等待运行的进程队列长度

    • htop命令:

      • 选项:

        • -d #:指定延迟时间间隔;

        • -u UserName:仅显示指定用户的进程;

        • -s COLUME:以指定字段进行排序;

      • 子命令:

        • l:显示选定的进程打开的文件列表;

        • s:跟踪选定的进程的系统调用;

        • t:以层级关系显示各进程的状态;

        • a:将选定的进程绑定至某指定的CPU核心;

    • vmstat命令:

      • -Report virtual memory statistics

      • vmstat [option][delay[count]]

        • procs:

          • r:等待运行的程序的个数;CPU上等待运行的任务的队列长度;

          • b:处于不可中断睡眠态的进程个数;被阻塞的任务队列的长度;

        • memory:

          • swpd:交换内存使用总量;

          • free:空闲的物理内存总量;

          • buffer:用于buffer的内存总量;

          • cache:用于cache的内存总量

        • swap:

          • si:数据进入swap中的数据速率(kb/s)

          • so:数据离开swap的速录(kb/s)

        • io:

          • bi:从块设备读入数据到系统的速度(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/PIDmaps

    • glances命令: -A cross-platform curses-based monitoring tool

      • 内建命令

      • 常用选项:

        • -b:以Byte为单位显示网上数据速率;

        • -d:关闭磁盘I/O模块;

        • -m:关闭mount模块;

        • -n:关闭network模块;

        • -t #:刷新时间间隔;

        • -1:每个cpu的相关数据单独显示

        • -o{HTML|CSV}:输出格式;

        • -f /PATH/TO/SOMEDIR:设定输出文件的位置;

      • C/S模式下运行glances命令;

        • 服务模式:

          • glances -s -B IPADDR

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

        • 客户端模式

          • glances -c IPADDR

          • IPADDR:是远程服务器的地址

    • dstat命令:-vversatile tool for generating system resource statistics

      • dstat[-afv][options…][delay[count]]

      • 常用选项:

        • -c: 显示cpu相关信息

          • -C #,#,…,total

        • -d: 显示disk相关信息

          • -D total,sda,sdb,…

        • -g:显示page相关统计数据

        • -m: 显示memory相关统计数据

        • -n: 显示network相关统计数据

        • -p: 显示process相关统计数据

        • -r: 显示io请求相关的统计数据

        • -s: 显示swapped相关的统计数据

        • –tcp

        • –udp

        • –unix

        • –raw

        • –socket

        • –ipc

        • –top-cpu:显示最占用CPU的进程

        • –top-io: 显示最占用io的进程

        • –top-mem: 显示最占用内存的进程

        • –top-latency: 显示延迟最大的进程

    • kill命令: -terminate a process向进程发送控制信号,以实现对进程管理

      • 显示当前系统可用信号:

      • kill -l

      • 每个信号的表示方法有三种;

        • 1)信号的数字标识;

        • 2)信号的完整名称;

        • 3)信号的简写名称;

      • 向发信号:

      • kill[-s signal|-SIGNAL]PID…

      • 常用信号:

        • 1) SIGHUP: 无须关闭进程而让其重读配置文件

        • 2) SIGINT: 中止正在运行的进程;相当于Ctrl+c

        • 9) SIGKILL: 杀死正在运行的进程

        • 15) SIGTERM:终止正在运行的进程

        • 18) SIGCONT:

        • 19) SIGSTOP: 指定信号的方法:

        • (1) 信号的数字标识;1, 2, 9

        • (2) 信号完整名称;SIGHUP

        • (3) 信号的简写名称;HUP

    • killall命令: -kill processes by name

      • killall [-SIGNAL] program

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

(0)
502795641502795641
上一篇 2016-09-07
下一篇 2016-09-07

相关推荐

  • 自制一个小型Linux(附带网络功能)

      我们这次讲述一下Linux启动的启动流程以及制作一个附带网络功能的mini linux 一、叙述 二、为什么要制作这么一个小型的系统 三、怎么制作 1、制作步骤 2、将虚拟机添加网络功能 一、叙述   在制作一个小型的Linux之前,首先你得明白Linux系统的启动过程,我们用一张图来进行说明  二、为什…

    Linux干货 2016-12-21
  • grep &&正则表达式&&通配,元字,转义符

    grep 基于正则表达式的查询 1正则表达式: 正则表达式是通过使用特殊的字符所编写的模式,一些字符不表示字符的表面意思,具有控制和通配的功能. 使用正则表达式进行匹配具有两种方法:一是通过使用特殊的元字符进行字符匹配;二是使用次数匹配。 一, 正则表达式的特殊字符(元字符) :  #建议再温习一下之前所学的统通配符,对比一下,防止混淆。 (1)元…

    Linux干货 2016-08-05
  • LAMP

    练习:编译安装amp,提供两个基于主机名的虚拟主机      (1) https, 部署pma      (2) 部署wordpress 编译安装: mariadb: # wget 10.1.0.1:/pub/Sources/7.x86_64/mariadb/…

    Linux干货 2016-10-12
  • sed基本用法详解

    一、sed介绍:        sed是非交互式的编辑器,同时又是面向字符流的,一次处理一行文本。当前输入的行被缓存至一个被称为模式空间(pattern space)的内存空间中,与给定的模式进行比对,若不匹配,则将内容输出至屏幕,之后读取第二行;若匹配,则执行编辑命令,命令执行完成后,将模式空间中…

    Linux干货 2016-08-10
  • 马哥教育网络班22期-第4周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@zck ~]# cp -r /etc/skel /home/tuser1 [root@zck ~]# ll -d /hom…

    Linux干货 2016-09-02
  • Linux 入门基础 及一些常见命令(下)

    date:                    显示日期时间:date [OPTION]… [+FORMAT]        &nbsp…

    Linux干货 2016-09-17

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-10 11:04

    尽量能将笔记转换为优秀的博客来,而不是粘贴笔记,相信自己,加油!!!