linux进程管理

linux进程查看及管理的工具:

    pstree,ps,pidof,pgrep,top,htop,glance,pmap,vstat,dstat,kill,pkill,job,bg,fg,nohup

         pstree:显示进程树

                   pstree- display a tree of processes

         ps:processstate

            ps - report a snapshot of the current processes.

            linux系统葛金城的相关信息均保存在/proc/pid目录下的各文件中

 

    ps [option]…

         选项:支持两种风格

         常用选项组合:aux

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

                   a:与终端相关的进程

                   x:与终端无关的进程

         USER PID %CPU %MEM VSZRSS TTY STAT START   TIME COMMAND

         VSZ:virtualmemory size

         rss:residentsize,常驻内存集

         T:stopped

         z:zombie

         +:前台进程

         l:多线程进程

         N:低优先级进程

         <:高优先级进程

         s:sessionleader

                   常用组合:-ef

                            -e:显示所有进程

                            -f:显示完整格式程序信息

                   常用组合:-ejH

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

                            以进程层级格式显示进程相关信息

                   常用组合:-eo,axo

                            ni:nice值

                            pri:priority,优先级

                            psr:processor,cup

                            rtprio:实时优先级

         pgrep,pkill:

                   pgrep[options] pattern

                   pkill[options] pattern

                            -uuid:effective user

                            -Uuid:real user

                            -tterminal:与指定终端相关的进程

                            -l:显示进程名

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

                            -ppid:显示其父进程为此处指定的进程的进程列表

         pidof:

                   根据进程名获取pid

         top:

                   有许多内置命令

                            排序:

                                     P:以占据的cpu百分比

                                     M:战绩内存百分比

                                     T:累计占用cou时长

                                     使用top显示信息,然后按下P,M,T排序

                            首部信息显示:

                                     uptime信息:l命令

                                     tasks及cpu信息:t命令

                                     cpu分别显示:1

                                     memory信息:m命令

                                     退出命令:q

                                     修改刷新时间间隔:s

                                     终止进程:k

                            选项:

                                        -d #:指定刷新时间间隔为#秒

                                        -b:以批次显示

    htop命令:

         s:跟踪选定的系统调用

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

    vmstat命令:

             vmstat[options] [delay [count]]

            Procs

          r: 等待运行的进程的个数

          b: 处于不可终端睡眠态的进程个数(被阻塞的队列的长度)

         memory:

                swpd:交换内存的使用总量

                free:空闲物理内存总量

                buffer:用户buffer的内存总量

                swap:

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

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

                io:

                     bi:从块设备读入数据到系统的速率(kb/s)

                     bo:保存数据至块设备的速率(kb/s)

                system:

                     in:interupts,中断数量

                     cs:contextswitch,进程切换速率

                cpu:

                     us

                     sy

                     id

                     wa

                     st

             选项:

                   -s:显示内存的统计数据

pmap命令:

         pmap- report memory map of a process

         pmap[options] pid [...]

                   -x:显示详细格式的信息

         另一种实现:

                   #cat/proc/PID/map

glances命令:

         a

         c      

         m

         p

         i

         d

         f

         n

         s

         y

常用选项:

         -b:以Byte为单位显示网卡数据速率

         -d:关闭磁盘IO模块

         -f:/path/to/somefile:设定输入文件位置

         -o{html|csv}:输出格式

         -m:禁用mount模块

         -n:禁用网络模块

         -t#:延迟时间间隔

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

         c/s模式下运行glances命令:

                   服务模式:

                            glances–s –B ipaddr

                            ipaddr:指明监听于本机哪个地址

                   客户端模式:

                            glances–c ipaddr

                                     ipaddr:要连入的服务器端地址

dstat命令:

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

                   -c:显示cpu相关信息

                            -C#,#,…total

                   -d:显示disk相关信息

                            -Dtotal,sda,sdb,…

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

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

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

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

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

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

                   --tcp

                   --udp

                   --socket

                   --raw

                   --unix

                   --socket

                   --ipc

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

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

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

                   --top-mantency:显示延迟最大的进程

kill命令:

         向进程发送控制信号,以实现对进程管理

                   #kill–l

                   #man7signal

                   常用信号:

1)  sighup:无需关闭进程而让其重读配置文件

2)sigint:终止正在进行的进程,相当于ctrl+c

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

15)sigterm:终止正在进行的进程

                            18)sigcont:

                            19)sigstop:

                   指定信号的方法:

(1)      信号的数字标识

(2)      信号完整名称:sighup

(3)      信号的简写名称:hup

向进程发送信号:

         kill[-signal] PID…

         终止“名称”下的所有进程:

                   killall[-signal] program

                   killall-15 httpd

        

linux的作业控制:

         jobs

         前台作业:通过终端启动,且启动后一致占据终端

         后台作业:可以通过终端启动,但启动后即转入后台运行(释放终端)

         如何让作业运行于后台:

        (1)运行中的作业

                ctrl+z

        (2)尚未启动的作业

                # command &

    此类作业虽然被送往后台运行,但其依然与终端相关

    如果希望送往后台后,剥离与终端的关系,

         # nohug command &

    查看所有作业:

         #jobs

    作业控制:

         #fg [[%]job_num]:把指定的后台作业调回前台

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

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

        

         进程优先级调整:

                   静态优先级:100-139

                   进程默认启动时的nice值为0,优先级为120

                            nice,renice

                   nice:

                            nice[OPTION] [COMMAND [ARG]...]

                   renice:

                            renice[-n] priority pid…

                   未涉及到的命令:sar,tsar,iostat,iftop


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值