请选择 进入手机版 | 继续访问电脑版

Linux运维基础进程 管理及环境构成 分析

[复制链接]
查看115 | 回复7 | 2021-9-13 19:32:48 | 显示全部楼层 |阅读模式
目次

1.历程 基本概述

历程 是已启动的可实行 程序的运行中实例。

/proc目次 下以数字为名的目次 ,每一个目次 代表一个历程 ,保存着历程 的属性信息。

每一个历程 的PID是唯一的,就算历程 退出了,别的 历程 也不会占用其PID

2.历程 的构成 部分

  •  已分配内存的地址空间
  • 安全属性,包括全部 权根据 和特权
  • 程序代码的一个或多个实行 线程
  • 历程 状态

3.历程 的环境

  • 本地和全局变量
  • 当前调度上下文
  • 分配的体系 资源,如文件形貌 符和网络端口

4.历程 状态

标志 内核定义的状态名称和形貌
R TASK_RUNNING:历程 正在CPU上实行 ,或者正在等待运行。处于运行中(或可运行)状态时,历程 大概 正在实行 用户例程或内核例程(体系 调用),或者已列队 并停当
S TASK_INTERRUPTIBLE:历程 处于就寝 状态且正在等待某一条件:硬件哀求 、体系 资源访问或信号。当变乱 或信号满意 该条件时,该历程 将返回到运行中
D TASK_UNINTERRUPTIBLE:此历程 也在就寝 ,但与S状态不同,不会相应 传递的信号。仅在特定的条件下利用 ,此中 历程 停止 大概 会导致不测 的装备 状态
K TASK_KILLABLE:历程 处于就寝 状态,与不可停止 的D状态类似 ,但有所修改,答应 等待中的任务 通过相应 信号而被停止 (彻底退出)。实用程序通常将可停止 的历程 表现 为D状态
T TASK_STOPPED:历程 已被克制 (停息 ),通常是通过用户或其他历程 发出的信号。历程 可以通过另一信号返回到运行中状态,继续实行 (恢复)
T TASK_TRACED:正在被调试的历程 也会暂时 克制 ,并且共享同一个T状态标志
Z EXIT_ZOMBIE:子历程 在退出时向父历程 发出信号。除历程 身份(PID)之外的全部 资源都已开释
X EXIT_DEAD:当父历程 清算 (获取)剩余的子历程 布局 时,历程 现在 已彻底开释 。此状态从不会在历程 列出实用程序中看到
< 高优先级历程
N 低优先级历程
+ 前台历程 组中的历程
l 多线程历程
s 会话历程 首历程

5.历程 优先级

  • <0-139>:数字越小,优先级越高!
  • <0-99>:及时 优先级,内核调整
  • <100-139>:静态优先级,用户可控制

6.历程 管理下令

  1. ps
复制代码
下令 用于列出当前的历程 。可以表现 详细 的历程 信息

  1. [root@localhost ~]# ps -e
  2. PID TTY TIME CMD
  3. 1 ? 00:00:02 systemd
  4. 2 ? 00:00:00 kthreadd
复制代码
  1. [root@localhost ~]# ps aux
  2. USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  3. root 1 0.0 0.6 179032 13504 ? Ss Nov03 0:02 /usr/lib/syst
  4. root 2 0.0 0.0 0 0 ? S Nov03 0:00 [kthreadd]
  5. root 3 0.0 0.0 0 0 ? I< Nov03 0:00 [rcu_gp]
  6. root 4 0.0 0.0 0 0 ? I< Nov03 0:00 [rcu_par_gp]
  7. root 6 0.0 0.0 0 0 ? I< Nov03 0:00 [kworker/0:0H
  8. root 8 0.0 0.0 0 0 ? I< Nov03 0:00 [mm_percpu_wq
  9. root 9 0.0 0.0 0 0 ? S Nov03 0:00 [ksoftirqd/0]
  10. root 10 0.0 0.0 0 0 ? R Nov03 0:00 [rcu_sched]
  11. root 11 0.0 0.0 0 0 ? S Nov03 0:00 [migration/0]
  12. root 12 0.0 0.0 0 0 ? S Nov03 0:00 [watchdog/0]
  13. root 13 0.0 0.0 0 0 ? S Nov03 0:00 [cpuhp/0]
  14. root 15 0.0 0.0 0 0 ? S Nov03 0:00 [kdevtmpfs]
  15. root 16 0.0 0.0 0 0 ? I< Nov03 0:00 [netns]
  16. root 17 0.0 0.0 0 0 ? S Nov03 0:00 [kauditd]
  17. root 18 0.0 0.0 0 0 ? S Nov03 0:00 [khungtaskd]
  18. root 19 0.0 0.0 0 0 ? S Nov03 0:00 [oom_reaper]
  19. root 20 0.0 0.0 0 0 ? I< Nov03 0:00 [writeback]
  20. root 21 0.0 0.0 0 0 ? S Nov03 0:00 [kcompactd0]
  21. root 22 0.0 0.0 0 0 ? SN Nov03 0:00 [ksmd]
  22. root 23 0.0 0.0 0 0 ? SN Nov03 0:00 [khugepaged]
  23. root 24 0.0 0.0 0 0 ? I< Nov03 0:00 [crypto]
  24. root 25 0.0 0.0 0 0 ? I< Nov03 0:00 [kintegrityd]
  25. root 26 0.0 0.0 0 0 ? I< Nov03 0:00 [kblockd]
  26. root 27 0.0 0.0 0 0 ? I< Nov03 0:00 [tpm_dev_wq]
  27. root 28 0.0 0.0 0 0 ? I< Nov03 0:00 [md]
  28. root 29 0.0 0.0 0 0 ? I< Nov03 0:00 [edac-poller]
  29. root 30 0.0 0.0 0 0 ? S Nov03 0:00 [watchdogd]
  30. root 47 0.0 0.0 0 0 ? S Nov03 0:00 [kswapd0]
  31. root 140 0.0 0.0 0 0 ? I< Nov03 0:00 [kthrotld]
  32. root 141 0.0 0.0 0 0 ? S Nov03 0:00 [irq/24-pcieh
  33. root 142 0.0 0.0 0 0 ? S Nov03 0:00 [irq/25-pcieh
  34. root 143 0.0 0.0 0 0 ? S Nov03 0:00 [irq/26-pcieh
  35. root 144 0.0 0.0 0 0 ? S Nov03 0:00 [irq/27-pcieh
  36. root 145 0.0 0.0 0 0 ? S Nov03
复制代码
  1. [root@localhost ~]# ps -ef
  2. UID PID PPID C STIME TTY TIME CMD
  3. root 1 0 0 Nov03 ? 00:00:02 /usr/lib/systemd/systemd --s
  4. root 2 0 0 Nov03 ? 00:00:00 [kthreadd]
  5. root 3 2 0 Nov03 ? 00:00:00 [rcu_gp]
  6. root 4 2 0 Nov03 ? 00:00:00 [rcu_par_gp]
  7. root 6 2 0 Nov03 ? 00:00:00 [kworker/0:0H-k
复制代码

7.vmstat

假造 内存状态查看下令

vmstat 1000 //表示每1000秒革新 一次
vmstat 1000 5 //表示每1000秒革新 一次,革新 5次后退出

  1. [root@localhost ~]# vmstat 1000
  2. procs:
  3. r(running) //表示等待运行的队列长度,也即等待运行的进程的个数
  4. b(block) //表示阻塞队列长度,也即处于不可中断睡眠态的进程个数
  5. memory:
  6. swpd //交换内存的使用总量
  7. free //空闲物理内存总量
  8. buffer //用于buffer的内存总量
  9. cache //用于cache的内存总量
  10. swap:
  11. si(swap in) //表示从物理内存有多少页面换进swap,也即数据进入swap的数据速率(kb/s)
  12. so(swap out) //表示从swap有多少页面换进物理内存,也即数据离开swap的数据速率(kb/s)
  13. io:
  14. bi(block in) //表示磁盘块有多少个被调入内存中,也即从块设备读入数据到系统的速率(kb/s)
  15. bo(block out) //表示有多少个磁盘块从内存中被同步到硬盘上去了,也即保存数据至块设备的速率(kb/s)
  16. system:
  17. in( interrupts) //表示中断的个数,也即中断速率(kb/s)
  18. cs(context switch) //表示上下文切换的次数,也即进程切换速率(kb/s)
  19. CPU:
  20. us //表示用户空间
  21. sy //表示内核空间
  22. id //表示空闲百分比
  23. wa //表示等待IO完成所占据的时间百分比
  24. st //表示steal,被虚拟化技术偷走的时间(比如运行虚拟机)
复制代码

8.后台运行作业

  1. //在命令后跟上&符号可以生成一个后台作业
  2. [root@localhost ~]# sleep 1000 &
  3. [1] 1400
  4. //jobs命令用于显示当前所有的后台作业
  5. [root@localhost ~]# jobs
  6. [1]+ Running sleep 1000 &
  7. //fg命令用于将后台作业调至前台运行
  8. [root@localhost ~]# fg
  9. //当只有一个后台作业时,直接使用fg命令,不跟任何参数即可将后台作业调至前台运行,但是当有多个作业时则必须跟上%+作业号,也就是上面命令执行结果中以[]括起来的数字。
  10. [root@localhost ~]# jobs
  11. [1]- Running sleep 1000 &
  12. [2]+ Running sleep 500 &
  13. [root@localhost ~]# fg %1
  14. //使用ctrl+z可将前台进程发送到后台,此时作业将处于停止状态
  15. [root@localhost ~]# fg %1
  16. sleep 1000
  17. ^Z
  18. [1]+ Stopped sleep 1000
  19. //使用bg命令+作业号可使后台已停止的作业重新运行
  20. [root@localhost ~]# bg %1
  21. [1]+ sleep 1000 &
  22. [root@localhost ~]# jobs
  23. [1]- Running sleep 1000 &
  24. [2]+ Running sleep 500 &
  25. //kill加上作业号可以手动杀死指定作业
  26. [root@localhost ~]# jobs
  27. [1]- Running sleep 1000 &
  28. [2]+ Running sleep 500 &
  29. [root@localhost ~]# kill %1
  30. [1]- Terminated sleep 1000
  31. [root@localhost ~]# jobs
  32. [2]+ Running sleep 500 &
  33. //jobs命令的结果中
  34. + //命令将默认操作的作业
  35. - //命令将第二个默认操作的作业
复制代码

以上就是Linux运维基础历程 管理及环境构成 分析的详细 内容,更多关于Linux历程 管理及环境构成 的资料请关注脚本之家别的 干系 文章!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

avatar JDLMDJIA | 2021-9-21 16:59:00 | 显示全部楼层
精华帖的节奏啊!
回复

使用道具 举报

avatar pmhuhc77635 | 2021-10-1 22:09:23 | 显示全部楼层
admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的网站,影视频道的网站所有电影和连续剧都可以免费看的。访问地址:http://tv.mxswl.com
回复

使用道具 举报

avatar 风残殒落殒d | 2021-10-8 15:33:44 | 显示全部楼层
楼上是GG还是MM啊?
回复

使用道具 举报

avatar 123457524 | 2021-10-15 21:30:12 | 显示全部楼层
一口气看完了,我要下去回味回味了!
回复

使用道具 举报

admin楼主,你妈妈喊你回家吃药!
回复

使用道具 举报

avatar 天使798 | 9 小时前 | 显示全部楼层
最近精神病院在打折,admin楼主去看看吧?
回复

使用道具 举报

avatar 崔炫俊献 | 6 小时前 | 显示全部楼层
每天顶顶贴,一身轻松啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则