Linux 进程操作

一、查看进程的主要命令工具

  • ps aux、ps –elf:查看进程静态快照
  • top:查看进程动态排名
  • pstree:查看进程与进程之间的树型关系结构
  • pgrep:根据指定的名称或条件检索进程

二、具体操作

1.pgrep

• pgrep — Process Grep

– 用途:pgrep [选项]... 查询条件

• 常用命令选项

– -l:输出进程名,而不仅仅是 PID

– -U:检索指定用户的进程

– -x:精确匹配完整的进程名

[root@svr7 /]# vim  1.txt  &      # 创建一个vim进程 让他后台运行

[root@svr7 /]# pgrep -l vim       #检索所有进程名带a的 输出进程名,而不仅仅是 PID

9751 vim

[root@svr7 /]# pgrep -x vim       #检索所有进程名带a的 仅仅输出 PID

9751

[root@svr7 /]# pgrep -lU root   #检索root的所有进程

1 systemd
2 kthreadd
3 ksoftirqd/0
5 kworker/0:0H
7 migration/0
8 rcu_bh
9 rcu_sched
  ..........

2.pstree 

查看进程树

• pstree — Processes Tree             

– 格式:pstree [选项] [PID或用户名]

• 常用命令选项

– -a:显示完整的命令行

– -p:列出对应PID编号

[root@svr7 /]# pstree         

[root@svr7 /]# useradd lisi           #创建一个用户

[root@svr7 /]# su - lisi                   #登录lisi

[root@svr7 /]# pstree  lisi            #查看用户进程

bash─┬─pstree
          └─vim

[root@svr7 /]# pstree -a lisi       #显示lisi的进程 加-a选项内容更丰富

bash
  ├─pstree -a lisi
  └─vim 1.txt

[1]+  Stopped                 vim 1.txt

[root@svr7 /]# pstree -ap lisi            #显示lisi的进程 并且带有pid号

bash,987
  ├─pstree,1032 -ap lisi
  └─vim,1012 1.txt

3.ps aux

   1)ps aux 操作,信息全面

– 列出正在运行的所有进程

安装列号显示:

用户 进程ID %CPU %内存 虚拟内存 固定内存 终端 状态 起始时间 CPU时间 程序指令

  2) ps -elf 操作,有进程的父进程的PID值

– 列出正在运行的且有父进程的进程

   PPID:父进程的PID号

[root@svr7 /]# ps aux

[root@svr7 /]# ps aux | wc -l

95

[root@svr7 /]# ps -elf   #显示有父进程的进程 对比ps aux 有稍稍区别 多出WCHAN

4.top

进程动态排名

• top 交互式工具

– 格式:top [-d 刷新秒数] [-U 用户名]

[root@svr7 /]# top -d 1

  按P(大写)可以进行CPU的排序

  按M(大写)可以进行内存的排序

 load average: 0.00, 0.01, 0.05  #CPU负载量   1分  5分钟  15 分钟

[root@svr7 /]# top       #输入top查看进程动态排名 按P按CPU排序 按M可以进行内容排序

四、进程调度及终止

进程调度及终止的主要命令工具:

  • 命令行 &:将命令行在后台运行
  • Ctrl + z 组合键:挂起当前进程(暂停并转入后台)
  • jobs:列出当前用户当前终端的后台任务
  • bg 编号:启动指定编号的后台任务
  • fg 编号:将指定编号的后台任务调入前台运行
  • kill [-9] PID...:杀死指定PID值的进程
  • kill [-9] %n:杀死第n个后台任务
  • killall [-9] 进程名...:杀死指定名称的所有进程
  • pkill:根据指定的名称或条件杀死进程

  1) & 与 fg的连用

    [lisi@svr7 ~]$ vim abc.txt &        #  & 命令放到后台运行 , 使用这一条命令不会马上执行,会将它放到后台
    [1] 1188                        # [1] 代表后台的第一个进程 pid 为1188

    [lisi@svr7 ~]$ fg 1          #将指定编号的后台任务调入前台运行,这将执行之前的vim程序

  2)  Ctrl + z 组合键

      可以将正在执行的命令暂时放到后台执行

      一般用于: 1.脚本执行

                       2.执行时间长的命令

  3) kiallall

        命令格式  killall [-9] 进程名

        [root@svr7 /]# vim 1.txt & 

        [root@svr7 /]# vim 1.txt &

        [root@svr7 /]# vim 1.txt &        #创建三个进程并且将他们放入后台

        [root@svr7 /]# jobs 查看一下

            [1]   已停止               vim 1.txt
            [2]-  已停止               vim 2.txt
            [3]+  已停止               vim 3.txt

       [root@svr7 /]# killall -9 vim       #杀死名为vim的所有进程

       [root@svr7 /]# killall -9 vim
           [1]   已杀死               vim 1.txt
           [3]+  已杀死               vim 3.txt
           [2]+  已杀死               vim 2.txt
   

  4)kill 

     杀死单个进程 kill -9 进程名

      [root@svr7 /]# vim 1.txt & 

      1306

      [root@svr7 /]# kill -9 1306      

  5) 干掉进程的不同方法

       – Ctrl+c 组合键,中断当前命令程序

       – kill [-9] PID... 、kill [-9] %后台任务编号

       – killall [-9] 进程名...

       – pkill 查找条件

 

[root@svr7 /]# sleep 1000 &

 4013

[root@svr7 /]# jobs -l

[root@svr7 /]# kill 4013    #按照PID进行杀死

[root@svr7 /]# sleep 1000 &

4015

[root@svr7 /]# jobs -l

[root@svr7 /]# kill -9 4015  #按照PID强制杀死 , 加-9 代表强制杀死

[root@svr7 /]# jobs -l

[root@svr7 /]# sleep 1000 &

[root@svr7 /]# sleep 1000 &

[root@svr7 /]# sleep 1000 &

[root@svr7 /]# jobs 

[root@svr7 /]# killall sleep   #杀死所有sleep进程  

杀死一个用户开启的所有进程(强制踢出一个用户)

[root@svr7 /]# killall  -9  -u  用户名

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值