Linux查看和控制进程
转自:https://baijiahao.baidu.com/s?id=1617448120776344096&wfr=spider&for=pc
Linux如何查看和控制进程
前言:程序是保存在外部存储介质(如硬盘)中的可执行机器代码和数据的静态集合,而进程是在CPU及内存中处于动态执行状态的计算机程序。在Linux系统中,每个程序启动后可以创建一个或多个进程。例如,提供Web服务的httpd程序,当有大量用户同时访问Web页面时,httpd程序可能会创建多个进程来提供服务。
程序保存在硬盘、光盘等介质中的可执行代码和数据
静态保存的代码
进程在 CPU 及内存中运行的程序代码
动态执行的代码
父、子进程
每个进程可以创建一个或多个进程
下面我们将一起来学习查看进程信息及控制进程相关的操作命令。
一、查看进程
使用不同的命令工具可以从不同的角度查看进程状态。
常用的进程查看命令
1.ps命令——查看静态的进程统计信息(Processes Statistic)
常见的选项:
a:显示当前终端下的所有进程信息,包括其他用户的进程。
u:使用以用户为主的格式输出进程信息。
x:显示当前用户在所有终端下的进程。
-e:显示系统内的所有进程信息。
-l:使用长(long)格式显示进程信息。
-f:使用完整的(full)格式显示进程信息。
需要注意的是,有一部分选项是不带“-”前缀的(添加“-”前缀后含义可能会有出入)。习惯上将上述选项组合在一起使用,如,“ps aux”或“ps -elf”
示例1:ps aux 将以简单列表的形式显示出进程信息。如下图
上图中的输出信息中,第1行为列表标题,其中各字段的含义描述如下:
USER:启动该进程的用户账号名称
PID:该进程的ID号,在当前系统中是唯一的
TTY:该进程在哪个终端上运行。“?”表未知或不需要终端
STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。
START:启动该进程的时间
TIME:该进程占用CPU时间
COMMAND:启动该进程的命令的名称
%CPU:CPU占用的百分比
%MEM:内存占用的百分比
VSZ:占用虚拟内存(swap空间)的大小
RSS:占用常驻内存(物理内存)的大小
示例2:ps -elf 以长格式显示系统中的进程信息,包含更丰富的内容。大概意思都一样,PPID为父进程的PID。
示例3:ps 直接执行不带任何选项,只显示当前用户会话中打开的进程。
示例4:结合管道操作和grep命令进行过滤,用于查询某一个进程的信息。
2.top命令——查看进程动态信息
以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次,其作用基本类似于Windows系统中的任务管理器。
示例:
上图中输出信息开头部分相关信息的含义如下:
Tasks(系统任务)信息:total,总进程数;running,正在运行的进程数;sleeping,休眠的进程数;stopped,中止的进程数;zombie,僵死无响应的进程数。CPU信息:us,用户占用;sy,内核占用;ni,优先级调度占用;id,空闲CPU;wa,I/O等待占用;hi,硬件中断占用;si,软件中断占用;st,虚拟化占用。了解空闲的CPU百分比,主要看%id部分。Mem(内存)信息:total,总内存空间;used,已用内存;free,空闲内存;buffers,缓存区域。Swap(交换空间)信息:total,总交换空间;used,已用交换空间;free,空闲交换空间;cached,缓存空间。在top命令的全屏操作界面中,按P键根据CPU占用情况对进程列表进行排序,或按M键根据内存占用情况排序,按N键根据启动时间进行排序,按h键可以获得top程序的在线帮助信息,按q键可以正常地退出top程序。
若通过top排名工具发现某个进程CPU占用率非常高,需要终止该进程的运行时,可以在top操作界面按k键,然后在列表上方将会出现“PID to kill”的提示信息,根据提示输入指定进程的PID号并按enter键确认即可终止对应的进程。
(个人感觉没必要都记得清清楚楚,了解一下吧,知道大概意思就行,用的时候拉出来看看)
3.pgrep命令——根据特定条件查询进程PID信息
示例:
4.pstree命令——查看进程树,以树形结构列出进程信息
示例:
二、控制进程
1.启动进程
进程的启动方式:
手工启动:由用户手工输入命令或执行程序的路径,可以至少启动一个进程。手工启动包括:前台启动和后台启动。前台启动:用户输入命令,直接执行程序
后台启动:在命令行尾加入“&”符号
示例:
后台启动后直接放入后台运行,而不占用前台的命令操作界面,方便用户进行其他操作。
调度启动:用于服务器维护工作中,例如当需要执行一些比较费时而且占用资源的任务(如数据备份),这些任务更适合在相对空闲的时候(如夜间)执行。这时就需要用户事先进行调度安排,指定任务运行的时间,当系统到达指定设定时间时会自动启动并完成指定的任务。调度启动的计划任务进程均在后台运行,不会占用用户的命令终端。调度启动可以通过at、crontab命令进行设置。使用 at 命令,设置一次性计划任务
使用 crontab 命令,设置周期性计划任务
(关于at和crontab的配置,准备下个文章再讲解)
2.改变进程的运行方式
1) 挂起当前的进程
按Ctrl+Z组合键将当前进程挂起(调入后台并停止运行),这种操作在需要暂停当前进程并进行其他操作时特别有用。例如,我们使用windows系统是有时候在本地计算机搜索东西时,发现他搜索的老慢了甚至电脑都有点卡,我们突然不想让它搜了,就想马上让它停止搜索,就是这种感觉。
2) 查看后台的进程
使用jobs命令,可以查看当前终端在后台的进程任务,结合“-l”选项可以同时显示出该进程对应的PID号
示例:
3) 将后台的进程恢复运行
bg(BackGround)命令,可以将后台中暂停执行(如,按Ctrl+Z组合键挂起)的任务恢复运行,继续在后台执行
fg(ForeGround)命令,可以将后台任务重新恢复到前台运行
示例:
3.终止进程执行
1) Ctrl+C组合键
强制中断正在执行的命令,如,命令长时间没有响应的情况下。
2) kill命令
用于终止指定PID号的进程,需要使用进程的PID号作为参数。无特定选项时,kill命令将给该进程发送终止信号并正常退出运行,有时可能该进程已经无法响应终止信号,这时可以结合“-9”(这是数字9不是字母g,有时候容易看走眼)选项强制终止进程。强制终止进程可能会导致程序运行的部分数据丢失,因此不到不得已时慎用。
示例
3) killall命令
用于终止指定名称的所有进程,当需要结束系统中多个相同名称的进程时,使用killall命令将更加方便,效率更高。Killall命令同样也有“-9”选项。
示例:
4) pkill命令
根据特定条件终止相应的进程
常用选项:(大部分选项与pgrep命令基本类似)
-U:根据进程所属的用户名终止相应进程
-t:根据进程所在的终端终止相应进程
示例:
Linux查看和控制进程相关推荐
- linux命令查进程,Linux常用命令(十)查看和控制进程
Linux常用命令(十)查看和控制进程 一.查看进程 1.ps命令--查看静态的进程统计信息(Processes Statistic) ps命令时Linux系统中最为常用的进程查看工具,主要用于显示 ...
- linux查看和结束进程,Linux查看和结束进程命令详解
在ubuntu中,终止一个进程或终止一个正在运行的程序,一般是通过 kill .killall.pkill.xkill 等进行. ----------------------------------- ...
- linux端口找进程,Linux查看端口、进程情况及kill进程的方法
看端口: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程. 使用命令:netstat –apn 查看所有的进程和端口使用情况.发现下面的进程列表,其中最后一栏是P ...
- linux查看主机端口进程命令
linux查看主机端口进程命令 1.查看主机信息 #more /etc/hosts #Do not remove the following line, or various programs #th ...
- linux有端口找不到进程,linux查看端口和进程
查看进程 ps -aux | grep appname 杀死进程 kill pid 查看端口: netstat -ap | grep 端口号 netstat -ap | grep 进程名字 lsof ...
- Linux 查看占用端口进程的绝对路径
Linux 查看占用端口进程的绝对路径 目 录 *Linux 查看占用端口进程的绝对路径* @[toc](目 录) 1. 本机环境 2. 查询占用的端口号 3. 查看进程文件夹 4. 进程结束时, 该 ...
- Linux查看并杀死进程
Linux查看并杀死进程 查看进程 方法一 lsof -i:80 -i<条件>:列出符合条件的进程(协议.:端口. @ip ) 方法二 netstat -anp | grep 进程ID - ...
- Linux--进程与任务管理(查看和控制进程及计划任务管理)
文章目录 一.查看进程 1.查看进程信息--ps 1.1 方法一:ps -aux 1.2 方法二:ps -elf 1.3 其他示例 2.查看进程信息--top 2.1 示例图 2.2系统任务(第一行) ...
- Linux 查看某一个进程占用内存情况
Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如 ps -ef | grep kafka 可以看到kafka这个程序的进程id 可以看到是2913,现在可以使用如下命令查 ...
最新文章
- 北斗导航 | GPS原理与接收机设计——琉璃剑(GPS概述)
- Linux(fedora 10)Hello World模块
- 6大设计原则之迪米特法则
- vs2010 OpenGL 初体验
- Python模拟浏览器向 CSDN发送POST请求的方法
- PowerShell因为在此系统中禁止执行脚本解决方法
- python函数参数列表_python函数列表
- 《创意特训营——30天超级灵感唤醒术》—第1章1.6节小结
- linux子进程杀不掉怎么办,LINUX KILL -9 杀不掉,求解决方法
- 几何画板椭圆九种画法_几何画板怎么制作椭圆定义演示动画?
- 语音信号处理-python
- 【学英语】老友记S1E1
- FDD LTE对称吗?
- 服务器ie浏览器总是未响应怎么办,IE8浏览器总是无响应或卡死崩溃怎么办
- Aspose.Words 表格添加斜线 并添加文字
- Mysql:Got error 28 from storage engine
- 气体放电管和压敏电阻使用
- ncverilog脚本_Ncverilog 常用命令使用详解 | 学步园
- 江苏省职称计算机考试internet,江苏省直2017年4月职称计算机考试报名时间通知...
- 企业家够疯狂:他选择了挑战微软