2024全网最为详细的红帽系列【RHCSA-(18)】初级及进阶Linux保姆级别骚操作教程;学不废来坎我[就怕你日后学成黑客了]

发布于:2024-10-16 ⋅ 阅读:(14) ⋅ 点赞:(0)

欢迎各位彦祖与热巴畅游本人专栏与博客

你的三连是我最大的动力

以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]

专栏跑道一
 ➡️ MYSQL REDIS Advance operation


专栏跑道二
➡️ 24 Network Security -LJS 

​ 

专栏跑道三

➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]

专栏跑道四
➡️RHCE-LJS[Linux高端骚操作实战篇]

专栏跑道五

➡️数据结构与算法[考研+实际工作应用+C程序设计]

专栏跑道六 

➡️RHCSA-LJS[Linux初级及进阶骚技能]

上节回顾icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_74796680/article/details/142905855?spm=1001.2014.3001.5501

目录

欢迎各位彦祖与热巴畅游本人专栏与博客

你的三连是我最大的动力

以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]

专栏跑道一 ➡️ MYSQL REDIS Advance operation

专栏跑道二➡️ 24 Network Security -LJS 

专栏跑道三

➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]

专栏跑道四➡️RHCE-LJS[Linux高端骚操作实战篇]​编辑​

专栏跑道五

➡️数据结构与算法[考研+实际工作应用+C程序设计]

专栏跑道六 

➡️RHCSA-LJS[Linux初级及进阶骚技能]

上节回顾https://blog.csdn.net/weixin_74796680/article/details/142905855?spm=1001.2014.3001.5501

1.top命令查看进程

语法格式:

top命令相关参数详解说明表

示例:

1.2top的输出信息详解说明

统计信息区

第一行

第二行

第三行

进程信息区 

简介:显示了每个进程的运行状态

 1.3top交互式按键命令详解说明表:

top交互式按键命令详解说明表一

top交互式按键命令详解说明表二

top交互式按键命令详解说明表三

2.信号控制进程

2.1给进程发送信号

3.作业控制

简介:

 3.1前后台进程详解说明

示例1:

​编辑

3.2特殊情况——补充说明:

 示例2:


1.top命令查看进程

语法格式:

  • top [-d 数字] | [-bnp]

top命令相关参数详解说明表

-d 后面可以接秒数,就是整个进程界面更新的秒数,默认是5秒
-b 以批次的方式执行top,还有更多的参数可用。通常会搭配数据流重定向来将批处理的结果输出为文件
-n 与-b搭配,进行几次top的输出结果
-i 不显示闲置或者僵死的进程信息
-c 显示进程的整个命令路径,而不是只显示命令名称
-s 使top命令在安全模式下运行,此时top的交互式指令被取消,避免潜在危险
-p 指定某些个PID来进行查看检测

示例:

[root@localhost ~]# top -d 1

[root@localhost ~]# top -d 1 -p 10126  #查看指定进程的动态信息

[root@localhost ~]# top -d 1 -p 10126,1

[root@localhost ~]# top -d 1 -u apache  #查看指定用户的进程

[root@localhost ~]# top -d 1 -b -n 2 > top.txt      #将2次top信息写入到文件

[root@localhost ~]# top
top - 17:21:03 up 4:32, 5 users, load average: 0.19, 0.08, 0.06
Tasks: 483 total,  3 running, 480 sleeping,  0 stopped,  0 zombie
%Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem :   1790.0 total,   1278.5 free,    240.5 used,    271.0 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1393.8 avail Mem
   PID USER     PR NI   VIRT   RES   SHR S %CPU %MEM     TIME+ COMMAND
      1 root      20   0  179104  13540   8728 S   0.0   0.7   0:01.22 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par+
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker+
      9 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_perc+
     10 root      20   0       0      0      0 S   0.0   0.0   0:00.01 ksoftir+
     11 root      20   0       0      0      0 I   0.0   0.0   0:00.13 rcu_sch+

1.2top的输出信息详解说明

  • 可以分为统计信息区和进程信息区两个部分,即前5行为统计信息区后面为进程信息区

统计信息区

第一行
  • 任务队列信息:top - 17:21:03 up 4:32, 5 users, load average: 0.19, 0.08, 0.06
    
    
    17:21:03表示当前系统时间;up 4:32表示系统已经启动4小时32分钟了;
    
    5 users表示当前登录系统的用户数;
    
    load average: 0.19, 0.08, 0.06表示系统1分钟、5分钟、15分钟前到现在的平均负载(如果是1表示满载)
    
第二行
  • Tasks: 483 total,  3 running, 480 sleeping,  0 stopped,  0 zombie
    
    483 total进程的总数; 
    
    3 running正在运行的进程数,;
    
    480 sleeping处于休眠状态的进程数, ;
    
    0 stopped停止的进程数, 
     
    0 zombie僵死的进程数。
第三行
  • %Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
    
    0.3 us表示用户进程占用CPU的百分比;0.7 sy系统进程占用CPU的百分比
    
    0.0 ni用户进程空间内改变过优先级的进程占用CPU的百分比; 99.0 id空闲CPU占用的百分比
    
    0.0 wa代表I/Owait表示等待输入、输出的进程占用CPU的百分比
    
    0.0 hi表示cpu服务于硬件中断所耗费的时间总额
    
    0.0 si表示cpu服务于软件中断所耗费的时间总额
    
    0.0 st表示虚拟机被hypervisor偷去的cpu时间。另外,如果是多内核设备,可按下数字键“1”
    来切换成不同cpu的负载率
  •  
    MiB Mem :   1790.0 total,   1278.5 free,    240.5 used,    271.0 buff/cache
    MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1393.8 avail Mem
    
    total系统的内存大小
    
    free目前空余内存大小
    
    used已经使用的内存大小
    

进程信息区 

  • 简介:显示了每个进程的运行状态
  • PID USER     PR NI   VIRT   RES   SHR S %CPU %MEM     TIME+ COMMAND
      1 root      20   0  179104  13540   8728 S   0.0   0.7   0:01.22 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:正在运行进程的命令名或者命令路径

 

 1.3top交互式按键命令详解说明表:

top交互式按键命令详解说明表一

交互式命令 说明
h 或? 显示帮助信息,给出交互式命令的一些说明
k 终止一个进程,系统将提示用户输入一个需要终止进程的PID
i 忽略闲置进程和僵死进程,这是一个开关式命令
s

改变top输出信息两次刷新之间的时间,系统将提示输入新的时间,单位是秒。

如果输入 小数,就换算成毫秒;

如果输入0,系统输出将不断刷新,默认刷新时间是3秒;

需要注意 的是,如果设置太短的时间,可能会引起系统不断刷新,无法看清输出显示情况,而且系 统负载也会加大

o或 者O

改变top输出信息中显示项的顺序。

按小写的a-z键可以将相应的列向右移动,而按大写的 A-Z键可以将相应的列向左移动。

最后按enter确定

top交互式按键命令详解说明表二

交互式命令 说明
f或 者F 从当前显示列表中添加或者删除项,按f键之后会显示列的列表,按a-z键即可显示或隐藏 对应的列。最后按enter确定
m 切换显示内存信息
t 切换显示进程和cpu状态信息
r 重新设置一个进程的优先级,系统提示用户输入需要改变的进程PID以及需要设置的进程 优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认 值是10
I 切换显示平均负载和启动时间信息
q 退出top显示
c 切换显示完整命令行和命令名称信息
M 根据驻留内存大小进行排序输出

 

top交互式按键命令详解说明表三

交互式命令 说明
N 以PID来排序
P 根据CPU使用百分比大小进行排序输出
T 根据时间/累计时间进行排序输出
S 切换到累计模式
W 将当前top设置写入~/.toprc文件中

2.信号控制进程

2.1给进程发送信号

#列出所有支持的信号
[root@localhost ~]# kill -l 
编号 信号名
1) SIGHUP   重新加载配置
2) SIGINT   键盘中断^C
3) SIGQUIT     键盘退出
9) SIGKILL   强制终止
15) SIGTERM   终止(正常结束),缺省信号
18) SIGCONT   继续
19) SIGSTOP   停止
20)SIGTSTP     暂停^Z

#给所有vim进程发送信号
[root@localhost ~]# killall vim 

[root@localhost ~]# killall httpd 

3.作业控制

简介:

  • 作业控制是一个命令行功能,允许一个shell 实例来运行和管理多个命令。
  • 如果没有作业控制,父进程 fork()一个子进程后,将sleeping,直到子进程退出。
  • 使用作业控制,可以选择性暂停,恢复,以及异步 运行命令,让 shell 可以在子进程运行期间返回接受其他命令。

 3.1前后台进程详解说明

foreground

前台进程是在终端中运行的命令,该终端为进程的控制终端。

前台进程接收键盘产生的输入和信号,并允许从终端读取或写入到终端。

background 后台进程没有控制终端,它不需要与终端交互

 

示例1:

#运行程序(时),让其在后台执行
[root@localhost ~]# sleep 3000 &               

#ctrl+z可以将前台的任务放到后台中暂停
[root@localhost ~]# sleep 4000              
[2]+ Stopped             sleep 4000

[root@localhost ~]# ps aux |grep sleep
root      8895  0.0  0.0 100900   556 pts/0   S    12:13   0:00 sleep 3000
root      8896  0.0  0.0 100900   556 pts/0   T    12:13   0:00 sleep 4000

#查看当前终端放在后台的进程( jobs ) 
[root@localhost ~]# jobs         
[1]- Running                sleep 3000 &
[2]+ Stopped               sleep 4000

+表示最近被放到后台的工作,-表示最近第二个被放到后台中的工作,超过第三个就不会有+/-符号存在了

#让作业2在后台继续运行
[root@localhost ~]# bg %2           

#将作业1调回到前台
[root@localhost ~]# fg %1      

#kill 1,终止工作号为1的进程
[root@localhost ~]# kill %1           

 

3.2特殊情况——补充说明:

  • 在后台执行的指令如果有stdout和stderr时,它的信息依旧是输出到屏幕上的,所以如果想将任务放在 后台工作并且不希望在前台显示可以利用重定向,将输出的信息保存至某个文件

 示例2:

#进程在后台运行,但输出依然在当前终端

[root@localhost ~]# (while :; do date; sleep 2; done) &   

[root@localhost ~]# (while :; do date; sleep 2; done) &>/dev/null &