| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux中的进程管理 -> 正文阅读 |
|
[系统运维]Linux中的进程管理 |
1、进程的意义 (1)进程的定义 程序是静态的代码文件;进程是程序的一个副本,指程序运行时的形态。 程序是有生命周期的:准备期、运行期、终止期 (2)进程和线程 进程是资源调用的最小单位;线程是进程的最小单位。 进程的执行是从上到下贯穿运行的;当进程是多任务、CPU是多核心时,多任务应该同时被每个核心处理,每个核心处理的任务叫线程;线程资源是共享的 (3)进程状态 R(TASK_RUNNING)? ? ? ? ? ? ? ? ##可执行态(running,ready) S(TASK_INTRRUPTABLE)? ? ? ? ? ? ? ? ##可唤醒休眠 D(TASK_UNINTRRUPTABLE)? ? ? ? ? ? ? ? ##不可唤醒的休眠 T(TASK_STOP)? ? ? ? ? ? ? ? ##暂停状态 Z(EXIT_ZOMBIE)? ? ? ? ? ? ? ? ##僵死态 2、进程的查看命令 gnome-system-monitor? ? ? ? ? ? ? ? ##图形查看进程 ps? ? ? ? ? ? ? ? ##查看进程(3种执行风格:Unix、bsd、GNU) ps? a? ? ? ? ? ? ? ? ##查看与终端相关的进程(用户登录系统后产生的进程都是带终端的) ps? x? ? ? ? ? ? ? ? ##查看与终端无关的进程 ps? u? ? ? ? ? ? ? ? ##以用户信息归类的方式查看进程 ps? f? ? ? ? ? ? ? ? ##进程层级关系 ps? o? ? ? ? ? ? ? ? ##显式指定参数查看进程(pid,comm,nice,pri,pcpu,ppid,stat,user,group..) ps? -e? ? ? ? ? ? ? ? ##显示所有进程 ps? -f? ? ? ? ? ? ? ? ##显示信息的完整格式 ps? -H? ? ? ? ? ? ? ? ##显示进程的层级结构 ps? -o? ? ? ? ? ? ? ? ##显式指定参数 ps? --sort=? ? ? ? ? ? ? ? ##以某进程参数的正向排序显示进程 ps ax显示的进程信息如下: PID? ? ? ? ? ? ? ? ##进程id TTY? ? ? ? ? ? ? ? ##进程用到的终端 STAT? ? ? ? ? ? ? ? ##进程状态 TIME? ? ? ? ? ? ? ? ##进程占用CPU时长 COMMAND? ? ? ? ? ? ? ? ##进程名称 ps? aux显示的进程信息如下: USER? ? ? ? ? ? ? ? ##进程所属用户 PID? ? ? ? ? ? ? ? ##进程id %CPU? ? ? ? ? ? ? ? ##进程使用CPU用量 %MEM? ? ? ? ? ? ? ? ##进程使用内存用量 VSZ? ? ? ? ? ? ? ? ##进程使用的虚拟内存大小 RSS? ? ? ? ? ? ? ? ##进程常驻内存中的数据大小 TTY? ? ? ? ? ? ? ? ##进程用到的终端 STAT? ? ? ? ? ? ? ? ##进程状态 START? ? ? ? ? ? ? ? ##进程运行时长 TIME? ? ? ? ? ? ? ? ##进程占用CPU时长 COMMAND? ? ? ? ? ? ? ? ##进程名称 进程过滤: pgrep? -u? uid? ? ? ? ? ? ? ?##显式指定用户的进程 pgrep? -U? user? ? ? ? ? ? ? ? ##显示指定用户的进程 pgrep? -t? tty? ? ? ? ? ? ? ? ##显式指定终端的进程 grep? -l? "进程"? ? ? ? ? ? ? ? ##显示进程名称 pgrep? -a? "进程"? ? ? ? ? ? ? ? ##显示进程的完整名称? pgrep? -P? “进程”? ? ? ? ? ? ? ? ##显示下时进程的子进程 pidof? vim? ? ? ? ? ? ? ? ##产看vim的pid 动态进程查看: top top命令的参数: top? -d? 3? ? ? ? ? ? ? ? ##3秒刷新一次(刷新频率参数) top? -b? ? ? ? ? ? ? ? ##以批次方式显示 top? -n? ? ? ? ? ? ? ? ##指定显示的批次数量 top内部指令: P? ? ? ? ? ? ? ? ##CPU排序 M? ? ? ? ? ? ? ? ##内存排序 T? ? ? ? ? ? ? ? ##累计占用CPU排序 l? ? ? ? ? ? ? ? ##关闭/开启uptime信息 t? ? ? ? ? ? ? ? ##关闭/开启CPU&task s? ? ? ? ? ? ? ? ##指定刷新频率 k? ? ? ? ? ? ? ? ##操作进程 u? ? ? ? ? ? ? ? ##查看指定用户进程 显示内容解释: 22:47:30 ?????????????? ##系统时间 up? ? ? ? ? ? ? ? ? ##运行时长 users? ? ? ? ? ? ? ? ##系统中有两个用户登录 load average:? ? ? ? ? ? ? ? ##时间越大越差 Tasks: total? ? ? ? ? ? ? ? ##任务总量 running? ? ? ? ? ? ? ? ##正在运行 sleeping? ? ? ? ? ? ? ? ##休眠进程数量 stopped? ? ? ? ? ? ? ? ##被暂停进程数量 zombie? ? ? ? ? ? ? ? ##僵死进程数量 %Cpu(s): us? ? ? ? ? ? ? ? ##用户空间 sy? ? ? ? ? ? ? ? ##内核空间 ni? ? ? ? ? ? ? ? ##nice值调整空间 id? ? ? ? ? ? ? ? ##空闲时间 wa? ? ? ? ? ? ? ? ##等待io处理时间 hi? ? ? ? ? ? ? ? ##处理硬件中断时间 si? ? ? ? ? ? ? ? ##处理软件中断时间 st? ? ? ? ? ? ? ? ##vm使用时间(被偷走的时间) MiB Mem: total? ? ? ? ? ? ? ? ##内存总量 free? ? ? ? ? ? ? ? ##内存空闲容量 used? ? ? ? ? ? ? ? ##内存占用容量 buff/cache? ? ? ? ? ? ? ? ##缓存 MiB Swap? ? ? ? ? ? ? ? ##交换分区用量 PID? ? ? ? ? ? ? ? ##进程id USER? ? ? ? ? ? ? ? ##进程所属者的用户名 PR? ? ? ? ? ? ? ? ##优先级 NI? ? ? ? ? ? ? ? ##nice值 RES? ? ? ? ? ? ? ? ##进程使用的、未被换出的物理内存大小,单位kb(RES=CODE+DATA) VIRT? ? ? ? ? ? ? ? ##进程使用的虚拟内存总量,单位kb(VIRT=SWAP+RES) SHR? ? ? ? ? ? ? ? ##共享内存大小,单位kb S? ? ? ? ? ? ? ? ##进程状态(D=不可中断的睡眠;R=运行中;S=睡眠状态;T=跟踪/停止状态;Z=僵尸进程) %CPU? ? ? ? ? ? ? ? ##上次更新到现在的CPU时间占用百分比 %MEM? ? ? ? ? ? ? ? ##进程使用的物理内存百分比 TIME+? ? ? ? ? ? ? ? ##进程使用的CPU时间总计,单位1/100秒 COMMAND? ? ? ? ? ? ? ? ##命令名称 3、进程的优先级 系统是多任务多用户的操作模式;通过“优先级”概念来对系统任务的重要性进行区分。 优先级范围:0——139 其中内核自控的优先级范围为:0——99;用户可控优先级范围为:100——139 优先级的2个表示方式:(值越小优先级越高) nice值(静态优先级):范围为 -20——19 pri(priority)值(动态优先级):范围为 100——139 优先级的调整: renice? -n? “nice值”? 进程号? ? ? ? ? ? ? ? ##更改某进程的优先级 nice? -n? “nice值”? 进程名称? ? ? ? ? ? ? ? ##指定优先级打开进程 某一指定进程的状态: S? ? ? ? ? ? ? ? ##sleeping(休眠中) <? ? ? ? ? ? ? ? ##优先级高 s? ? ? ? ? ? ? ? ##顶级进程 T? ? ? ? ? ? ? ? ##进程暂停中(stop) N? ? ? ? ? ? ? ? ##优先级低 R? ? ? ? ? ? ? ? ##running(运行中) +? ? ? ? ? ? ? ? ##运行在前台 4、进程的调用 【ctrl】【z】? ? ? ? ? ? ? ? ##把占用shell的进程打入后台挂起 bg? ? ? ? ? ? ? ? ##将后台挂起的进程运行起来(不加jobs号默认运行状态为+的进程) fg? ? ? ? ? ? ? ? ##将后台进程调回前台 &? ? ? ? ? ? ? ? ##直接在后台运行进程 jobs? ? ? ? ? ? ? ? ##查看当前shell中在后台的所有工作 5、进程信息号 进程信号: 1? ? ? ? ? ? ? ? ##重新加载进程的系统配置文件 2? ? ? ? ? ? ? ? ##清空内存中的进程数据 3? ? ? ? ? ? ? ? ##清空内存中的鼠标标志(效果等同 ctrl+\) 9? ? ? ? ? ? ? ? ##强行结束进程(不会被阻塞) 15? ? ? ? ? ? ? ? ##正常关闭进程(会被阻塞) 18? ? ? ? ? ? ? ? ##运行被暂停的进程 19? ? ? ? ? ? ? ? ##暂停进程(不会被阻塞) 20? ? ? ? ? ? ? ? ##暂停进程(会被阻塞) 进程信号控制: kill? -进程信号? pid???????????????? killall? -进程信号? 进程名字 pkill? -进程信号? 进程条件(比如用户) 6、守护进程 守护进程名称:systemd 守护进程的意义: 替内核分担程序管控的作用,本身是一种程序;通常pid=1 守护进程提供的操作命令:systemctl ;用户可通过此命令来管理系统的服务(服务:系统中开启的共享系统资源到网络中的程序) systemctl 的使用: start? ? ? ? ? ? ? ? ##开启服务 stop? ? ? ? ? ? ? ? ##关闭服务 status? ? ? ? ? ? ? ? ##查看服务状态 reload? ? ? ? ? ? ? ? ##重新加载 restart? ? ? ? ? ? ? ? ##重启服务 enable? ? ? ? ? ? ? ? ##设定服务开机启动 enable? --now? ? ? ? ? ? ? ? ##设定服务开机启动并现在开启服务 disable? ? ? ? ? ? ? ? ##设定服务禁止开机启动 disable? --now? ? ? ? ? ? ? ? ##设定服务开机不启动并现在关闭服务 list-units? ? ? ? ? ? ? ? ##查看系统所有服务当前的状态 list-unit-files? ? ? ? ? ? ? ? ##查看服务开机状态 list-dependencies? ? ? ? ? ? ? ? ##列出服务依赖性 mask? ? ? ? ? ? ? ? ##冻结服务 umask? ? ? ? ? ? ? ? ##解冻服务 get-default? ? ? ? ? ? ? ? ##查看系统运行模式 set-default? graphical.target? ? ? ? ? ? ? ? ##设置系统运行模式为有图形的网络模式 set-default? multi-user.target? ? ? ? ? ? ? ? ##设置系统运行模式为无图形的网络模式 系统运行模式:(0---6) ***通过 init 命令控制 0? ? ? ? ? ? ? ? ##关机 1? ? ? ? ? ? ? ? ##单用户模式 2? ? ? ? ? ? ? ? ##多用户模式 3? ? ? ? ? ? ? ? ##无图形界面模式(完全多用户模式) 4? ? ? ? ? ? ? ? ##没用到 5? ? ? ? ? ? ? ? ##图形化界面模式 6? ? ? ? ? ? ? ? ##reboot 7、系统中的登陆审计 w? ? ? ? ? ? ? ? ##显示正在登陆系统的用户 w? -i? ? ? ? ? ? ? ? ##显示正在登陆系统的用户并显示来源 w 的输出保存在 /var/run/utmp last? ? ? ? ? ? ? ? ##显示登陆成功但现已退出的用户 last 的输出保存在 /var/log/wtmp lastb? ? ? ? ? ? ? ? ##显示试图登录但未成功登陆的用户 lastb 的输出保存在 /var/log/btmp ? ?? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 0:35:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |