好比windows的任务管理器
 
用于实时监控系统处理器状态,以及其他硬件负载信息还有动态的进程信息等等,还有按照排名,先后显示某个进程CPU,内存的使用情况排名
 
top交互命令 z指令打开、关闭颜色
x指令某一列高亮
b指令某一列加粗
<>大于小于号左右移动
 
1 2 3 4 5 6 7 8  [root@localhost ~] top - 09:16:03 up 2 min,  1 user,  load average: 0.03, 0.05, 0.03 Tasks: 130 total,   1 running, 129 sleeping,   0 stopped,   0 zombie %Cpu(s):  0.0 us,  0.6 sy,  0.0 ni, 99.4 id ,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st KiB Mem :  1862996 total,  1524408 free,   198404 used,   140184 buff/cache KiB Swap:  2097148 total,  2097148 free,        0 used.  1514864 avail Mem  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND 
 
之前介绍过的就不再重复
09:16:03 up
 
2 min
 
1 user
 
load average: 0.03
显示系统的平均负载情况,分别1分钟、5分钟、15分钟显示的平均值(值越小、系统负载越低) 
 
 
Tasks: 130 total,   1 running, 129 sleeping,   0 stopped,   0 zombie
总任务数、正在运行数、休眠任务数、停止任务数、僵尸进程数 
 
 
%Cpu(s):  0.0 us,  0.6 sy,  0.0 ni, 99.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st 
CPU使用百分比情况, 
us:用户占用CPU百分比情况、 
sy:系统内核空间占用CPU百分比、 
ni:用户进程空间占用的CPU百分比、 
id:空间的CPU百分比情况、 
wa等待输入输出的CPU百分比 
 
 
KiB Mem :  1862996 total,  1524408 free,   198404 used,   140184 buff/cache 
内存状态:总内存空间、空闲内存总量、已使用内存量、缓存使用量情况 
 
 
KiB Swap:  2097148 total,  2097148 free,  0 used.  1514864 avail Mem
 
USER 
PR:进程优先级高低 
NI:nice值,值越高优先级越高 
VIRT:进程使用的虚拟内存总量、VIRT=swap +RES 
RES:进程使用的物理内存大小 
SHR:共享内存大小,单位是kb 
S:表示进程的状态 
 
top实际使用 显示进程的绝对路径  
执行演示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@localhost ~] top - 10:16:05 up  1:02,  1 user,  load average: 0.01, 0.03, 0.05 Tasks: 126 total,   1 running, 125 sleeping,   0 stopped,   0 zombie %Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id ,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st KiB Mem :  1862996 total,  1522684 free,   199488 used,   140824 buff/cache KiB Swap:  2097148 total,  2097148 free,        0 used.  1513444 avail Mem    PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND   1568 root      20   0  158988   5820   4412 S   0.3  0.3   0:04.16 sshd: root@pts/0   5025 root      20   0       0      0      0 S   0.3  0.0   0:01.24 [kworker/0:2]  15431 root      20   0  162116   2352   1680 R   0.3  0.1   0:01.57 top -c      1 root      20   0  128008   6628   4160 S   0.0  0.4   0:01.77 /usr/lib/systemd/syste+      2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 [kthreadd]      4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kworker/0:0H] ... 
 
设置top进程刷新的时间  
执行演示
1 2 3 4 5 6 7 8 9 10 11 12 13 [root@localhost ~] top - 10:22:26 up  1:09,  1 user,  load average: 0.01, 0.02, 0.05 Tasks: 126 total,   1 running, 125 sleeping,   0 stopped,   0 zombie %Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id ,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st KiB Mem :  1862996 total,  1522828 free,   199320 used,   140848 buff/cache KiB Swap:  2097148 total,  2097148 free,        0 used.  1513600 avail Mem    PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND      1 root      20   0  128008   6628   4160 S   0.0  0.4   0:01.80 systemd      2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kthreadd      4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H      6 root      20   0       0      0      0 S   0.0  0.0   0:00.04 ksoftirqd/0 ... 
 
指定查看一个进程信息  
执行演示
1 2 3 4 5 6 7 8 9 [root@localhost ~] top - 10:24:02 up  1:10,  1 user,  load average: 0.00, 0.01, 0.05 Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie %Cpu(s):  0.1 us,  0.4 sy,  0.0 ni, 99.3 id ,  0.1 wa,  0.0 hi,  0.1 si,  0.0 st KiB Mem :  1862996 total,  1522624 free,   199512 used,   140860 buff/cache KiB Swap:  2097148 total,  2097148 free,        0 used.  1513400 avail Mem    PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND      1 root      20   0  128008   6628   4160 S   0.0  0.4   0:01.81 systemd 
 
参数 
详情参见 top参数 
 
1 2 3 4 5 6 7 8 9 10 -b:以批处理模式操作; -c:显示完整的治命令; -d:屏幕刷新间隔时间; -I:忽略失效过程; -s:保密模式; -S:累积模式; -i<时间>:设置间隔时间; -u<用户名>:指定用户名; -p<进程号>:指定进程; -n<次数>:循环显示的次数。 
 
nohup后台运行 
nohup命令,希望程序在后台运行,输出的结果不打印到终端,不占用终端,不影响其它操作进行。
 
无论是否将nohup命令的输出定向到终端,nohup命令执行的输出结果都会写入当前目录的nohup.out文件。
若当前目录nohup.out文件被禁止写入,nohup命令结果会自动输出到$HOME/nohup.out文件。
nohup实践 
以ping baidu.com为例
 
用法一 
输入nohup执行后需要重新开启会谈才能执行其它操作,一般不会这么用哈
 
 
执行演示
 
1 2 3 4 [root@localhost ~] nohup : 忽略输入并把输出追加到"nohup.out" 
 
虽然能够实现后台运行,但这么使用并不方便,执行完后还是不能进行其它操作。
1 2 3 4 [root@localhost ~] root      39133  0.0  0.1 150088  2008 pts/0    S+   10:57   0:00 ping baidu.com root      50300  0.0  0.1 150088  2008 pts/1    S    11:27   0:00 ping baidu.com 您在 /var/spool/mail/root 中有新邮件 
 
用法二 
不需要退出当前会谈以执行其它操作
 
 
执行演示
 
1 2 3 4 5 6 7 8 [root@localhost ~] [1] 50300 您在 /var/spool/mail/root 中有新邮件 [root@localhost ~] [root@localhost ~] [root@localhost ~] 
 
回车一下,我们可以进行其它操作,并且ping命令在后台正常执行。
1 2 3 4 5 [root@localhost ~] root      39133  0.0  0.1 150088  2008 pts/0    S+   10:57   0:00 ping baidu.com root      50300  0.0  0.1 150088  2008 pts/1    S    11:27   0:00 ping baidu.com root      50712  0.0  0.0 112824   988 pts/1    S+   11:28   0:00 grep --color=auto ping 您在 /var/spool/mail/root 中有新邮件 
 
用法三 
不显示命令执行结果,并重定向到黑洞文件
 
这里补充一些关于黑洞文件的知识 
请参阅Tinywan大佬的文章:
Shell脚本———— /dev/null 2>&1详解 
1 为标准错误输出(第一个尖括号一般可以省略不写1) 
2 为标准输出 
&1 表示与处理1的方式相同来处理2 
 
 
重新定向输出结果到指定文件 1 2 3 nohup  <command > 1> targetfile 2> targetfile &nohup  <command > > targetfile 2>&1 &
 
执行演示
1 2 3 4 [root@localhost ~] [4] 73284 [root@localhost ~] [5] 73375 
 
我们可以在targetfile中看到输出结果。
完全不保留结果的写法 1 2 3 4 5 nohup  <command > 1>/dev/null 2>/dev/null &nohup  <command > >/dev/null 2>&1 &nohup  <command > &>/dev/null
 
执行演示
 1 2 3 4 5 6 [root@localhost ~] [2] 58900 您在 /var/spool/mail/root 中有新邮件 [root@localhost ~] [3] 59489 您在 /var/spool/mail/root 中有新邮件 
 
我们发现执行后,会返回一个PID:58900
59489
bg后台运行 
类似nohup命令
将进程放入后台运行,使得前台运行其它命令
 
 
 
回顾一下,快捷键的作用
CTRL+Z
 
我们输入
 
然后执行快捷键
可以检查暂停放入后台的进程
 
语法  
1 2 [root@localhost ~] [6]+  已停止               ping baidu.com 
 
将后台作业移动到前台终端运行
 
用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。 
若后台任务中只有一个,则使用该命令时可以省略任务号。 
 
语法  
参数 job_spec(可选):指定要移动到前台执行的作业标识符,可以是一到多个。
执行演示 1 2 3 4 5 6 [root@localhost ~] [6]+  已停止               ping baidu.com [root@localhost ~] ping baidu.com 64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=128 time=49.3 ms 64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=128 time=48.4 ms 
 
将前台终端作业移动到后台运行,但是输出的结果会在前台打印,不影响其它操作 
 
用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加符号&的效果是相同的,都是将其放到系统后台执行。 
若后台任务中只有一个,则使用该命令时可以省略任务号。 
 
语法  
参数 job_spec(可选):指定要移动到后台执行的作业标识符,可以是一到多个。
执行演示 
可以使用fg命令将进程移到前台再ctrl+z暂停
 
1 2 3 4 5 6 7 8 9 [root@localhost ~] PING baidu.com (110.242.68.66) 56(84) bytes of data. 64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=128 time=48.8 ms bg  164 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=6 ttl=128 time=48.2 ms 64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=7 ttl=128 time=48.2 ms ^Z [2]+  已停止               ping baidu.com [root@localhost ~] 
 
linux系统运行级别 常见级别 
0 关机 
1 单用户模式 
2 多用户模式,无网络模式 
3 完全多用户模式,有网模式 
4 用户自定义级别 
5 图形化界面多用户模式 
6 重启机器 
 
查看当前系统运行级别  
查看/var/run/utmp文件 1 2 [root@localhost ~] 3~~~runlevel3.10.0-1160.71.1.el7.x86_64▒n▒b�▒tty1tty1LOGIN▒▒n▒bڰ(pts/0ts/0root192.168.41.1▒n▒b▒▒▒o▒pts/1ts/1▒▒▒b]▒) 
 
init进程是所有Linux进程的父进程,进程号为1。
init是linux进程的初始化工具。
init命令是Linux操作系统中不可缺少的程序之一,init进程是Linux内核引导运行的,是系统中的第一个进程
 
作用 可以使用init加上级别,直接操作系统运行级别
 
执行演示
1 2 3 4 5 6 7 8 9 10 [root@localhost ~]# init 6 Remote side unexpectedly closed network connection qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq Session stopped     - Press <return> to exit tab     - Press R to restart session     - Press S to save terminal output to file 
 
相当于linux的任务管理器,非内部命令,需要另外安装。
 
与top的区别就是,它更好看xD
安装htop  
使用htop 进入htop  
设置界面 
F2
 
可以使用上下左右小键盘,空格回车进行操作。
进程查找 
F3
 
杀死进程 
建议结合F3使用,F9杀死,且输入ENTER回车,给进程发送终止信号。
 
显示层级关系 
F5
 
支持一些快捷键 输入大写
M,会以MEM%大小排序 
P 以CPU使用量排序 
T 以进程运行时间排序 
/进入搜索模式,查找指定进程 
 
…
系统资源检测工具,类似top、htop
 
glances工具由python语言编写,使用psutil模块来采集系统的硬件资源等等。
glances可以为unix和linux系统提供专家级别的新能检测。
cpu使用率 
内存使用情况 
内核统计信息 
磁盘io转速 
文件系统的剩余空间 
网络io速度 
缓存空间的使用情况 swap空间 
动态进程信息 
系统负载信息 
… 
 
glances还能将采集的数据输出到一个文件中,便于数据分析人员对服务器性能报表进行分析以及图标绘制。
安装方法 
使用python的安装工具pip
 
安装python3
 
安装glances工具
 
直接使用yum安装
 
 
使用 
相关介绍
 
帮助界面 
输入h,进入帮助界面
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Glances 2.5.1 with PSutil 5.6.7 Configuration file: None  a  Sort processes automatically          b  Bytes or bits for network I/O  c  Sort processes by CPU%                l  Show/hide alert logs  m  Sort processes by MEM%                w  Delete warning alerts  u  Sort processes by USER                x  Delete warning and critical alerts  p  Sort processes by name                1  Global CPU or per-CPU stats  i  Sort processes by I/O rate            I  Show/hide IP module  t  Sort processes by TIME                D  Enable/disable Docker stats  d  Show/hide disk I/O stats              T  View network I/O as combination  f  Show/hide filesystem stats            U  View cumulative network I/O  n  Show/hide network stats               F  Show filesystem free space  s  Show/hide sensors stats               g  Generate graphs for current history  2  Show/hide left sidebar                r  Reset history  z  Enable/disable processes stats        h  Show/hide this help screen  3  Enable/disable quick look plugin      q  Quit (Esc and Ctrl-C also work)  e  Enable/disable top extended stats  /  Enable/disable short processes name  0  Enable/disable Irix process CPU ENTER: Edit the process filter pattern 
 
1 2 3 4 5 6 7 8 9 10 11 12 h : 显示帮助信息 q : 离开程序退出 c :按照 CPU 实时负载对系统进程进行排序 m :按照内存使用状况对系统进程排序 i:按照 I/O 使用状况对系统进程排序 p: 按照进程名称排序 d : 显示磁盘读写状况  w : 删除日志文件 l :显示日志 s: 显示传感器信息 f : 显示系统信息 1 :轮流显示每个 CPU 内核的使用情况(次选项仅仅使用在多核 CPU 系统) 
 
参数 
glances 是一个命令行工具包括如下命令选项
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -b:显示网络连接速度 Byte/ 秒 -B @IP|host :绑定服务器端 IP 地址或者主机名称 -c @IP|host:连接 glances 服务器端 -C file:设置配置文件默认是 /etc/glances/glances.conf  -d:关闭磁盘 I/O 模块 -e:显示传感器温度 -f file:设置输出文件(格式是 HTML 或者 CSV) -m:关闭挂载的磁盘模块 -n:关闭网络模块 -p PORT:设置运行端口默认是 61209  -P password:设置客户端 / 服务器密码 -s:设置 glances 运行模式为服务器 -t sec:设置屏幕刷新的时间间隔,单位为秒,默认值为 2 秒,数值许可范围:1~32767  -h : 显示帮助信息 -v : 显示版本信息 
 
glances开启web服务功能 
安装相关web工具包
 
 
启动服务(注意关闭防火墙或者开放61208端口,不然网页打不开)
 
1 2 [root@localhost ~] Glances web server started on http://0.0.0.0:61208/ 
 
其中的0.0.0.0表示绑定到机器上的所有网卡上!
glances支持C-S模式 
一台机器运行服务端,一台机器运行客户端
 
具体参数请使用man glances查询
开启服务端 1 glances -s -B <ip> -p <port> 
 
客户端连接