首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >2024全网最为详细的红帽系列【RHCSA-(18)】初级及进阶Linux保姆级别骚操作教程;学不废来坎我[就怕你日后学成黑客了]

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

作者头像
盛透侧视攻城狮
发布2024-10-22 10:53:26
发布2024-10-22 10:53:26
2560
举报

1.top命令查看进程

语法格式:

代码语言:javascript
复制
top [-d 数字] | [-bnp]

-d

后面可以接秒数,就是整个进程界面更新的秒数,默认是5秒

-b

以批次的方式执行top,还有更多的参数可用。通常会搭配数据流重定向来将批处理的结果输出为文件

-n

与-b搭配,进行几次top的输出结果

-i

不显示闲置或者僵死的进程信息

-c

显示进程的整个命令路径,而不是只显示命令名称

-s

使top命令在安全模式下运行,此时top的交互式指令被取消,避免潜在危险

-p

指定某些个PID来进行查看检测

示例:

代码语言:javascript
复制
[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行为统计信息区后面为进程信息区
统计信息区
第一行
代码语言:javascript
复制
任务队列信息: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表示满载)
第二行
代码语言:javascript
复制
Tasks: 483 total,  3 running, 480 sleeping,  0 stopped,  0 zombie

483 total进程的总数; 

3 running正在运行的进程数,;

480 sleeping处于休眠状态的进程数, ;

0 stopped停止的进程数, 
 
0 zombie僵死的进程数。
第三行
代码语言:javascript
复制
%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的负载率
代码语言:javascript
复制
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已经使用的内存大小
进程信息区
简介:显示了每个进程的运行状态
代码语言:javascript
复制
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以及需要设置的进程 优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认 值是10I切换显示平均负载和启动时间信息 q退出top显示 c切换显示完整命令行和命令名称信息 M 根据驻留内存大小进行排序输出 top交互式按键命令详解说明表三 交互式命令说明N 以PID来排序 P根据CPU使用百分比大小进行排序输出 T根据时间/累计时间进行排序输出 S切换到累计模式 W将当前top设置写入~/.toprc文件中

2.信号控制进程

2.1给进程发送信号

代码语言:javascript
复制
#列出所有支持的信号
[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:
代码语言:javascript
复制
#运行程序(时),让其在后台执行
[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:
代码语言:javascript
复制
#进程在后台运行,但输出依然在当前终端

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

[root@localhost ~]# (while :; do date; sleep 2; done) &>/dev/null &
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.top命令查看进程
    • 语法格式:
    • 示例:
    • 1.2top的输出信息详解说明
      • 统计信息区
      • 进程信息区
    • 1.3top交互式按键命令详解说明表:
  • 2.信号控制进程
    • 2.1给进程发送信号
  • 3.作业控制
    • 示例1:
    • 3.2特殊情况——补充说明:
      • 示例2:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档