Linux进程学习(kill,top)

几个基本命令:

ps  --- 查看进程
        //格式:ps [选项]
        -a 显示所有用户的进程  /-u 显示用户名和启动时间
        -x 显示没有控制终端的进程  / -e 显示所有进程,包括没有控制终端的进程
        -l 长格式显示 / -w 宽行显示,可以使用多个 w 进行加宽显示
        -f 做一个更完整的输出
        //常用格式:ps -aux 和 ps -ef
top  --- 动态查看进程
        //格式:top [选项]
        -d 后面可以接秒数,默认是5秒 / -b 以批次的方式执行top 
        -n 与-b搭配,进行几次top的输出结果 
        -i 不显示闲置或者僵死的进程信息 
        -c 显示进程的整个命令路径
        -s 使top命令在安全模式下运行
        -p 指定某些个PID来进行查看检测

& --- 进程后台运行符
        //格式:进程 &
        //运行程序(时),让其在后台执行

ctrl-z --- 进程前台中止符
        //格式:进程  (键入ctrl+z)
        //可以将前台的任务 放到后台中暂停

job --- 查看被挂起的进程
        //格式:job
    
fg --- 将作业调回到前台
        //格式:fg %num

bg --- 让作业在后台运行
        //格式:bg %num

kill --- 进程中止符

killall --- 进程中止符

pkill --- 进程中止符

nohup --- 解决当退出终端后,工作还会继续运行
        //格式:nohup [指令与参数] & 在终端的后台工作
  •  进程状态

 Linux的进程有三种状态:运行态,就绪态,阻塞态

  • 就绪态:此时进程已经分配到资源,此时由于CPU正在被占用,所以会在获得CPU后,进入运行态
  • 运行态:进程分配到CPU,正在处理器上运行
  • 等待态:因为等待某些事件而暂时不能运行的状态

Linux上的进程状态查看指令:

W指令:

//键入w命令可以查看系统信息
[root@localhost ~]# w
 18:59:42 up  6:59,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty2     tty2             Sat15    2days 57.32s  0.92s /usr/libexec/tracker-miner-fs
root     pts/1    192.168.220.1    15:30    0.00s  0.03s  0.01s w

//JCPU  以终端代号来区分,该终端所有相关的进程的进程执行时,所消耗的 CPU时间会显示在这里
//PCPU  cpu执行程序消耗的时间
//WHAT  用户下在执行的操作
//load average   分别显示系统在过去 1、 5、 15分钟内的平均负载程度。
//FROM 显示用户从何处登录系统
“: 0”的显示代表该用户是从 X Windows 下,打开文本模式窗口登录的
//IDLE  用户闲置的时间,这是一个计时器,一旦用户执行任何操作,该计时器便会被重置


PS指令:

//ps -l 查看当前属于root的进程
[root@localhost ~]# ps -l
F S   UID     PID    PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S     0    7009    7003  0  80   0 -  6672 -      pts/1    00:00:00 bash
0 R     0   11523    7009  0  80   0 - 11351 -      pts/1    00:00:00 ps

F 代表这个程序标志,表明这个程序的权限 
S 代表这个程序的状态,主要的状态有:
     +:位于后台的进程组 
     R 该程序正在运作中 
     S 该程序目前正在睡眠状态,但可以被唤醒;
     D 不可被唤醒的睡眠状态,通常可能是在等待I/O的情况;
     T 停止状态,可能是在工作控制(后台暂停)或traced状态;
     Z 僵尸状态,程序已经终止但却无法被移除至记忆体外。
    (如果查看某个进程信息后面显示<defunct>时,就代表该进程为僵尸进程) 
UID/PID/PPID 代表此程序被该UID所拥有/程序的PID号码/此程序的父进程PID号码
C 代表CPU使用率,单位为百分比
PRI/NI 代表此程序被CPU所执行的优先顺序,数值越小代表该程序越快被CPU执行
ADDR/SZ/WCHAN 与内存有关,
    ADDR指出该程序在内存的哪个部分,如果是 running的程序,一般会显示-
    SZ代表此程序用掉多少内存,WCHAN表示目前程序是否运作中,若为-表示正在运行
TTY  登入者的终端机位置
TIME 使用掉的CPU时间,即此程序实际花费CPU运作的时间
CMD  触发此进程的指令是什么
//查看所有用户执行的进程的详细信息
[root@localhost ~]# ps aux |less

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.7 179844 13808 ?        Ss   12:00   0:03 /usr/lib/systemd/systemd--switched-root --system --deserialize 17

USER   运行进程的用户 
PID    进程ID 
%CPU   CPU占用率 
%MEM   内存占用率
VSZ    占用虚拟内存 
RSS    占用实际内存 驻留内存 
TTY    进程运行的终端 
STAT   进程状态 man ps (/STATE) 
    R     运行 
    S     可中断睡眠 Sleep 
    D     不可中断睡眠 
    T     停止的进程 
    Z     僵尸进程 
    X     死掉的进程 
    Ss    s进程的领导者,父进程 
    S<    <优先级较高的进程 
    SN    N优先级较低的进程 
    R+    +表示是前台的进程组 
    Sl    以线程的方式运行 
START   进程的启动时间 
TIME    进程占用CPU的总时间 
COMMAND 进程名

TOP命令:

//动态查看TOP进程
[root@localhost ~]# top
top - 19:44:38 up  7:44,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 316 total,   1 running, 315 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.3 hi,  0.0 si,  0.0 st
MiB Mem :   1800.6 total,    148.8 free,   1265.0 used,    386.8 buff/cache
MiB Swap:   2079.0 total,   2048.0 free,     31.0 used.    361.4 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                  
   2423 root      20   0  534500  39004  31488 S   0.3   2.1   0:17.84 vmtoolsd                 
      1 root      20   0  179844  13808   9236 S   0.0   0.7   0:03.51 systemd    


//top的第一行为任务队列信息
top - 19:44:38 up  7:44,  2 users,  load average: 0.00, 0.00, 0.00
//19:44:38    表示当前系统时间 
//up  7:44    表示已经启动7小时44分钟
//2 users     当前系统的用户数
//load average: 0.00, 0.00, 0.00  表示每1,5,15分钟的平均负载

//top的第二行为进程统计
Tasks: 316 total,   1 running, 315 sleeping,   0 stopped,   0 zombie
//316 total     表示进程总数
//1 running     表示正在运行进程
//315 sleeping  表示处于休眠状态进程数
//0 stopped     表示停止进程数
//0 zombie      表示僵尸进程数

//top的第三行是CPU占用情况
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.3 hi,  0.0 si,  0.0 st
//0.0 us    用户进程占用CPU的百分比
//0.3 sy    系统进程占用CPU的百分比
//0.0 ni    用户进程空间内改变过优先级的进程占用CPU的百分比
//99.3 id   空闲CPU占用的百分比
//0.0 wa    I/Owait表示等待输入、输出的进程占用CPU的百分比,
//0.3 hi    cpu服务于硬件中断所耗费的时间总额
//0.0 si    cpu服务于软件中断所耗费的时间总额
//0.0 st    虚拟机被hypervisor偷去的cpu时间

//第四行是内存硬件显示参数
//第五行是虚拟内存大小

//对于进程信息区内容:
   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                  
   2423 root      20   0  534500  39004  31488 S   0.3   2.1   0:17.84 vmtoolsd                 
      1 root      20   0  179844  13808   9236 S   0.0   0.7   0:03.51 systemd   
PID      进程的id 
USER     进程所有者的用户名 
PR       进程优先级 
NI       nice值,负值表示高优先级,正值表示低优先级 
VIRT     进程使用的虚拟内存总量,单位为KB 
RES      进程使用的、未被换出的物理内存大小,单位KB 
SHR      共享内存大小,单位KB
S        进程状态
            D表示不可中断的睡眠状态
            R表示运行状态
            S表示睡眠状态
            T表示跟踪/停止
            Z表示僵死进程
%CPU     上次更新到现在的CPU时间占用百分比 
%MEM     进程占用的物理内存百分比 
TIME+    进程总计使用的CPU时间,单位为1/100秒 
COMMAND  正在运行进程的命令名或者命令路径

如果想要给予进程优先级,则需要调整nice的值。

  1. nice的值可调整的范围为-20~19
  2. root可随意调整自己或他人进程的nice值,且范围为-20~19; 一般用户仅可调整自己进程的nice 值,范围为0~19(避免一般用户抢占系统资源)
  3. 一般用户仅可将nice值调高或者保持

进程的前台和后台:

//&进程后台运行符

//ctrl-z进程前台中止符,可以将前台的任务 放到后台中暂停

//job查看被挂起的进程

//fg将作业调回到前台

//bg让作业在后台运行
       

进程中断:

kill --- 进程中止符

killall --- 进程中止符

pkill --- 进程中止符


//killall   直接结束所以进程
//kill      需要携带进程号
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值