Linux 实战技能 100 讲
尹会生
前游戏公司技术总监,前新浪网技术经理
47505 人已学习
新⼈⾸单¥68
课程目录
已完结/共 118 讲
第五章:文本操作篇 (15讲)
Linux 实战技能 100 讲
登录|注册
留言
15
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 37 | 使用ps和top命令查看进程
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | 什么是Linux
04 | Linux的内核版本及常见发行版
05 | 安装VirtualBox虚拟机
06 | 在虚拟机中安装Linux系统
07 | 第一次启动Linux
08 | 万能的帮助命令:man、help、info
09 | 初识pwd和ls命令
10 | 详解ls命令
11 | 详解cd命令
12 | 创建和删除目录
13 | 复制和移动目录
14 | 如何在Linux下进行文本查看
15 | 打包压缩和解压缩
16 | Vim的四种模式
17 | Vim的正常模式
18 | Vim的命令模式
19 | Vim的可视模式
20 | 用户和用户组管理及密码管理
21 | su和sudo命令的区别和使用方法
22 | 用户和用户组的配置文件介绍
23 | 文件与目录权限的表示方法
24 | 文件权限的修改方法和数字表示方法
25 | 权限管理以及文件的特殊权限
26 | 网络管理
27 | 查看网络配置
28 | 修改网络配置
29 | 网络故障排除命令
30 | 网络管理和配置文件
31 | 软件包管理器的使用
32 | 使用rpm命令安装软件包
33 | 使用yum包管理器安装软件包
34 | 通过源代码编译安装软件包
35 | 如何进行内核升级
36 | grub配置文件介绍
37 | 使用ps和top命令查看进程
38 | 进程的控制与进程之间的关系
39 | 进程的通信方式与信号:kill命令
40 | 守护进程
41 | screen命令和系统日志
42 | 服务管理工具systemctl
43 | SELinux简介
44 | 内存与磁盘管理
45 | 内存查看命令
46 | 磁盘分区和文件大小查看
47 | 文件系统管理
48 | i节点和数据块操作
49 | 分区和挂载
50 | 分区和挂载磁盘配额
51 | 交换分区swap的查看与创建
52 | 软件RAID的使用
53 | 逻辑卷LVM的用途与创建
54 | 系统综合状态查看命令sar以及第三方命令
55 | 什么是Shell
56 | Linux的启动过程
57 | Shell脚本的格式
58 | 脚本不同执行方式的影响
59 | 管道
60 | 重定向
61 | 变量赋值
62 | 变量引用及作用范围
63 | 环境变量、预定义变量与位置变量
64 | 环境变量配置文件
65 | 数组
66 | 转义和引用
67 | 运算符
68 | 特殊字符大全
69 | test比较
70 | if判断的使用
71 | if-else判断的使用
72 | 嵌套if的使用
73 | case分支
74 | for的基本使用
75 | C语言风格的for
76 | while循环和until循环
77 | 循环的嵌套和break、continue语句
78 | 使用循环处理位置参数
79 | 自定义函数
80 | 系统函数库介绍
81 | 脚本资源控制
82 | 信号
83 | 一次性计划任务
84 | 周期性计划任务
85 | 为脚本加锁
86 | 元字符介绍
87 | find 演示
88 | sed和awk介绍
89 | sed替换命令讲解
90 | sed的替换指令加强版
91 | sed的其他常用命令
92 | sed多行模式空间
93 | 什么是sed的保持空间
94 | 认识awk
95 | awk的字段
96 | awk表达式
97 | awk判断和循环
98 | awk数组
99 | awk数组功能的使用
100 | awk函数
101 | 防火墙概述
102 | iptables规则的基本使用演示
103 | iptables过滤规则的使用
105 | firewalld
104 | iptables nat表的使用
106 | SSH介绍之Telnet明文漏洞
107 | SSH服务演示
108 | FTP服务器vsftpd介绍与软件包安装
109 | vsftpd配置文件介绍
110 | vsftp虚拟用户
111 | samba服务演示
112 | NFS服务
113 | Nginx基本配置文件
114 | 使用Nginx配置域名虚拟主机
115 | LNMP环境搭建
116 | DNS服务的原理
117 | NAS演示
118 | 结课测试&结束语
登录 后留言

全部留言(15)

  • 最新
  • 精选
William
老师,平均负载解释有错误。平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,和CPU使用率是两码事。参考自另一篇专栏文章,https://time.geekbang.org/column/article/69618。

作者回复: 感谢william ,我这里解释的平均负载的确是不全面的,但是平均负载和cpu使用率并非是两码事,平均负载包含了cpu利用率。 我在上面的讲解中用了一个高速公路的例子,多车道对应多路cpu,每辆车对应多个进程,其实还应该加上两个条件才准确:比如是“高速”还是“低速”道路--即IO,还有车速--即cpu利用率。

2019-08-04
4
纵不朽
当前虚拟终端啥意思,终端,字符界面,这个一直没搞明白

作者回复: 终端,泛指一切能控制计算机的输入接口,包括串口线的硬件终端、也包括类似windows的图形界面,默认运行linux服务器的字符界面;而在Linux字符界面上,软件终端又分成标准终端设备tty1-tty6 ,和虚拟终端pts 。像是我们使用的ssh连接的终端、在图形界面打开的终端程序,都属于虚拟终端,它们和tty设备的区别就是没有设备编号,所以叫做“虚拟”终端

2021-10-27
3
CJJ陈俊杰
老师,我之前遇到过一个问题,linux使用ps -ef只要加上f这个参数后,就会出现信息正常返回但是会挂住无法输入下一个命令的情况,重启机器以后才正常,可能是哪里出问题呢?

作者回复: 可能是运行进程过多,导致内存不足导致的

2021-06-24
1
sibyl
老师,有个地方没弄明白:发现 top命令的结果中,up 40min ,但是pid为4574的进程的运行时间 已经是45min了。系统启动的时间怎么会比进程运行的时间少5min? 此外, up 37min的时候 pid为4574的进程运行时间为40min。

作者回复: 还没有遇到过,看看是否up时间是 xxx days, xxx min, top 查看的pid运行时间是 TIME表示进程使用的CPU时间总和,单位是秒;TIME+也是表示进程使用的CPU时间总和,单位1/100秒,是不是单位计算换算不对

2019-08-12
2
1
李晓东
老师好,网上说CPU平均负载3以上就表表示系统非常繁忙。请教下这个结论的有道理么?平均负载3的时候CPU处于什么样的状态呢?

作者回复: 没有道理, 平均负载是反映系统繁忙程度,包括cpu、也包括等待io,还有进程数量等衡量系统性能的指标

2019-08-07
1
Jagger Chen
老师您好,可以再解释一下 top 命令中 KiB Mem 中的 buff/cache 参数吗?谢谢

作者回复: 通过 procfs 源码里面的proc/sysinfo.c这个文件,你可以发现 buff/cache 包括下面这几项: buff/cache = Buffers + Cached + SReclaimable 这三个值,你查看cat /proc/meminfo 文件可以得到。 相信Buffer、Cache你已经听过很多次了,最后的 SReclaimable 是指可以被回收的内核内存,包括 dentry 和 inode 等。 这三个值,或者说 buff/cache主要强调了可以被回收的内存大小。 这里需要注意的是,这个值是动态的,在查看它的时候,也会申请一部分内存。所以不会严格相等。这个值为开发和运维人员提供了一个可回收内存大小的一个参考。

2021-12-28
湮汐
第一个进程是0号进程,也成为idle进程,它是所有进程的祖先,后面的1号进程就是它启动的。系统的空闲时间,其实就是指idle进程的"运行时间"
2019-09-12
17
熊斌
Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) idle进程由系统自动创建, 运行在内核态 idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个没有通过fork或者kernel_thread产生的进程。完成加载系统后,演变为进程调度、交换 init进程由idle通过kernel_thread创建,在内核空间完成初始化后, 加载init程序, 并最终用户空间 由0进程创建,完成系统的初始化. 是系统中所有其它用户进程的祖先进程 Linux中的所有进程都是有init进程创建并运行的。首先Linux内核启动,然后在用户空间中启动init进程,再启动其他系统进程。在系统启动完成完成后,init将变为守护进程监视系统其他进程。
2020-03-22
1
9
王建峰
查看进程(静态) ps 查看进程树 ptree 查看进程(动态) top 设置进程的优先级(启动前) nice -n ./test 调整进程优先级 renice -n <进程PID> 设置进程为后台运行(启动前) ./test & 调整前台进程为后台进程并挂起 Ctrl +Z 调整后台进程为前台进程并执行 step1: jobs step2: fg <序号> 调整后台进程为后台进程并挂起 step1: jobs step2: bg <序号>
2021-07-04
2
辣么大
老师,请问swap的free为0或者很小,会有什么问题?
2022-03-24
收起评论