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

CSDN 2024-10-21 13:37:01 阅读 61

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

你的三连是我最大的动力

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

专栏跑道一

 ➡️ MYSQL REDIS Advance operation

专栏跑道二

➡️ 24 Network Security -LJS 

​ 

专栏跑道三

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

专栏跑道四

➡️RHCE-LJS[Linux高端骚操作实战篇]

专栏跑道五

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

专栏跑道六 

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

上节回顾

icon-default.png?t=O83A

https://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命令查看进程

语法格式:

<code>top [-d 数字] | [-bnp]

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

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

示例:

<code>[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行为统计信息区后面为进程信息区

统计信息区

第一行

<code>任务队列信息: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给进程发送信号

<code>#列出所有支持的信号

[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:

<code>#运行程序(时),让其在后台执行

[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:

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

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

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

 



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。