zoukankan      html  css  js  c++  java
  • Linux_基础_进程管理

    显示进程

    ps:显示系统执行的进程

    语法:
        ps <选项> <参数> 
    
    选项:
        -a                       # 显示所有终端机下执行的程序,除了阶段作业领导者之外。
        a                        # 显示现行终端机下的所有程序,包括其他用户的程序。
        -A                       # 显示所有程序。
        -c                       # 显示CLS和PRI栏位。
        c                        # 列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。
        -C<指令名称>             # 指定执行指令的名称,并列出该指令的程序的状况。
        -d                      # 显示所有程序,但不包括阶段作业领导者的程序。
        -e                      # 此选项的效果和指定"A"选项相同。
        e                       # 列出程序时,显示每个程序所使用的环境变量。
        -f                      # 显示UID,PPIP,C与STIME栏位。
        f                       # 用ASCII字符显示树状结构,表达程序间的相互关系。
        -g<群组名称>             # 此选项的效果和指定"-G"选项相同,当亦能使用阶段作业领导者的名称来指定。
        g                       # 显示现行终端机下的所有程序,包括群组领导者的程序。
        -G<群组识别码>          # 列出属于该群组的程序的状况,也可使用群组名称来指定。
        h                       # 不显示标题列。
        -H                      # 显示树状结构,表示程序间的相互关系。
        -j或j                   # 采用工作控制的格式显示程序状况。
        -l或l                   # 采用详细的格式来显示程序状况。
        L                        # 列出栏位的相关信息。
        -m或m                   # 显示所有的执行绪。
        n                        # 以数字来表示USER和WCHAN栏位。
        -N                       # 显示所有的程序,除了执行ps指令终端机下的程序之外。
        -p<程序识别码>           # 指定程序识别码,并列出该程序的状况。
        p<程序识别码>            # 此选项的效果和指定"-p"选项相同,只在列表格式方面稍有差异。
        r                        # 只列出现行终端机正在执行中的程序。
        -s<阶段作业>              # 指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。
        s                        # 采用程序信号的格式显示程序状况。
        S                   # 列出程序时,包括已中断的子程序资料。
        -t<终端机编号>           # 指定终端机编号,并列出属于该终端机的程序的状况。
        t<终端机编号>            # 此选项的效果和指定"-t"选项相同,只在列表格式方面稍有差异。
        -T                    # 显示现行终端机下的所有程序。
        -u<用户识别码>           # 此选项的效果和指定"-U"选项相同。
        u                     # 以用户为主的格式来显示程序状况。
        -U<用户识别码>           # 列出属于该用户的程序的状况,也可使用用户名称来指定。
        U<用户名称>               # 列出属于该用户的程序的状况。
        v                        # 采用虚拟内存的格式显示程序状况。
        -w或w                   # 采用宽阔的格式来显示程序状况。 
        x                        # 显示所有程序,不以终端机来区分。
        X                        # 采用旧式的Linux i386登陆格式显示程序状况。
        -y                       # 配合选项"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位 。
        --cols<每列字符数>       # 设置每列的最大字符数。
        --headers                # 重复显示标题列。
        --info                   # 显示排错信息。
        --lines<显示列数>        # 设置显示画面的列数。
    
    实例:
        ps -u root               # 显示root进程用户信息
        ps -aux | grep sshd      # 查询显示sshd的进程信息
        ps -ef | more            # 以全格式显示当前所有的进程,分页显示
    
    进程列表说明:
        USER                     # 用户名
        PID                      # 进程号
        %CPU                     # 进程占用CPU的百分比
        %MEM                     # 进程占用物理内存的百分比
        VSZ                      # 进程占用的虚拟内存大小(单位:KB)
        RSS                      # 进程占用的物理内存大小(单位:KB)
        TTY                      # 终端名称
        STAT                     # 进程状态(S:睡眠;s:该进程是回话的先导进程;N:低优先级的进程;<:高优先级的进程;R:正在运行;D:短期等待;Z:僵死进程;T:暂停执行...)
        START                    # 进程的启动时间
        TIME                     # 进程使用CPU的总时间
        COMMAND                  # 启动进程所用的命令和参数

    pstree:以树状形式展示进程

    语法:
        pstree <选项>
    
    选项:
        -a                    # 显示每个程序的完整指令,包含路径,参数或是常驻服务的标示
        -c                    # 不使用精简标示法
        -G                    # 使用VT100终端机的列绘图字符
        -h                    # 列出树状图时,特别标明现在执行的程序
        -l                    # 采用长列格式显示树状图
        -n                    # 用程序识别码排序。预设是以程序名称来排序
        -p                    # 显示进程PID
        -u                    # 显示进程所属用户
        -U                    # 使用UTF-8列绘图字符
    
    参数:
        进程名称               # 指定要杀死的进程名称。
    
    实例:
        pstree -p             # 显示当前所有进程的进程号和进程id

    top:动态监控,动态显示系统执行的进程

    语法:
        top <选项> <参数>
    
    选项:
        -b                           # 以批处理模式操作
        -c                           # 显示完整的治命令
        -d                           # 屏幕刷新间隔时间
        -I                           # 忽略失效过程
        -s                           # 保密模式
        -S                           # 累积模式
        -i<时间>                    # 设置间隔时间
        -u<用户名>                  # 指定用户名
        -p<进程号>                  # 指定进程
        -n<次数>                     # 循环显示的次数
    
    实例:
        top                          # 显示进程信息
        top -d 5                     # 每5秒刷新一次进程信息    
        top -p 139                   # 显示进程号为139的进程信息
        top -n 10                    # 显示更新10次后退出
    
    进入top界面后的操作:
        c                            # 显示完整的命令名
        d                            # 修改刷新时间
        h                            # 显示帮助画面,给出一些简短的命令总结说明
        k                            # 指定要杀死的进程
        u                            # 显示指定用户相关进程
        P                            # 按CPU使用排序
        M                            # 按内存使用排序
        F                            # 排序(进入新的界面,并选择排序的目标字段)
        R                            # 顺序或逆序
        H                            # 显示线程
        Z                            # 以多色彩显示top
        l/t/m                        # toggle/load/cpu/内存信息
        1                            # 显示多CPU的信息(多核机器上查看每个CPU的使用率)
        W                            # 保存当前top的配置
    
    top说明:
        top - 11:52:15 up  6:14,  2 users,  load average: 0.00, 0.01, 0.05
        Tasks: 347 total,   2 running, 345 sleeping,   0 stopped,   0 zombie
        %Cpu(s):  5.3 us, 15.8 sy,  0.0 ni, 78.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
        KiB Mem :  1001336 total,   119236 free,   137632 used,   744468 buff/cache
        KiB Swap:  2097148 total,  2095644 free,     1504 used.   651196 avail Mem 
    
        # 说明
        top - 11:52:15                    # 当前系统时间
        6:14                              # 运行时间
        2 user                            # 当前登录用户数
        load average: 0.00, 0.01, 0.05    # 系统负载均衡,(0.00+0.01+0.05)/3 > 0.7,大于0.7系统就会有点卡
        Tasks: 347 total                  # 总进程数
        2 running                         # 正在运行的进程数
        345 sleeping                      # 睡眠的进程数
        0 stopped                         # 停止的进程数
        0 zombie                          # 僵死的进程数
        %Cpu(s):  5.3 us                  # 用户空间占用CPU百分比
        15.8 sy                           # 系统空间占用CPU百分比
        0.0 ni                            # 用户进程空间内改变过优先级的进程占用CPU百分比
        78.9 id                           # CPU处在空闲状态百分比
        0.0 wa                            # IO等待所占用的CPU百分比
        0.0 hi                            # 硬件中断占用CPU百分比
        0.0 si                            # 软件中断占用CPU百分比
        0.0 st                            # 丢失时间占用CPU百分比
        KiB Mem :  1001336 total          # 物理内存总量
        119236 free                       # 空闲内存总量
        137632 used                       # 使用的物理内存总量
        KiB Swap:  2097148 total          # 交换区总量
        2095644 free                      # 空闲交换区总量
        1504 used                         # 使用的交换区总量

    终止进程

    kill:使用进程ID杀死进程

    语法:
        kill <选项> <参数> 
    
    选项:
        -a                    # 当处理当前进程时,不限制命令名和进程号的对应关系
        -l <信息编号>          # 若不加<信息编号>选项,则-l参数会列出全部的信息名称
        -p                    # 指定kill 命令只打印相关进程的进程号,而不发送任何信号
        -s <信息名称或编号>     # 指定要送出的信息
        -u                    # 指定用户
    
    参数:
        进程或作业识别号        # 指定要删除的进程或作业。
    
    实例:
        kill -l                         # 列出所有信号名称
        kill -KILL 1234                 # 强制杀死进程ID为1234的进程
        kill -9 1234                    # 强制杀死进程ID为1234的进程
        kill -u tom                     # 杀死指定用户所有进程
        kill -9 $(ps -ef | grep tom)    # 杀死指定用户所有进程
    
    常用信号说明:
        HUP         1        终端断线
        INT         2        中断(同 Ctrl + C)
        QUIT        3        退出(同 Ctrl + )
        TERM       15        终止
        KILL        9        强制终止
        CONT       18        继续(与STOP相反, fg/bg命令)
        STOP       19        暂停(同 Ctrl + Z)

    killall:使用进程名称杀死进程

    语法:
        killall <选项> <参数> 
    
    选项:
        -e                    # 对长名称进行精确匹配
        -l                    # 忽略大小写的不同
        -p                    # 杀死进程所属的进程组
        -i                    # 交互式杀死进程,杀死进程前需要进行确认
        -l                    # 打印所有已知信号列表
        -q                    # 如果没有进程被杀死。则不输出任何信息
        -r                    # 使用正规表达式匹配要杀死的进程名称
        -s                    # 用指定的进程号代替默认信号“SIGTERM”
        -u                    # 杀死指定用户的进程
    
    参数:
        进程名称               # 指定要杀死的进程名称
    
    实例:
        killall vi            # 杀死所有同名进程
  • 相关阅读:
    List<T>Find方法,FindAll方法,Contains方法,Equals方法
    C#SerialPort如何读取串口数据并显示在TextBox上
    49、css属性相关
    40、协程
    45、mysql 储存过程
    37、进程之间的通信
    38、线程及其方法
    39、多线程和线程池
    33、验证客户端的合法性、socketserver模块
    32、黏包的解决方式、struct模块
  • 原文地址:https://www.cnblogs.com/Small-music/p/9261802.html
Copyright © 2011-2022 走看看