精讲!查看和控制进程相关命令

2023-11-06

一、查看进程的相关命令

1.ps 命令——查看静态的进程统计信息(Processes Statistic)

ps 命令是 Linux 操作系统中最为常用的进程查看工具,主要用于显示包含当前运行的各进程完整信息的静态快照。通过不同的命令选项,可以有选择性地查看进程信息。

a:显示当前终端下的所有进程信息,包括其他用户的进程。与“x”选项结合时将显 示系统中所有的进程信息。
u:使用以用户为主的格式输出进程信息。
x:显示当前用户在所有终端下的进程信息。
-e:显示系统内的所有进程信息。
-l:使用长(Long)格式显示进程信息。
-f:使用完整的(Full)格式显示进程信息。

2.top 命令——查看进程动态信息

使用 ps 命令查看到的是一个静态的进程信息,并不能连续地反馈出当前进程的运行状态。若希望以动态刷新的方式显示各进程的状态信息,可以使用 top 命令。top 命令将会在当前终端以全屏交互式的界面显示进程排名,及时跟踪包括 CPU、内存等系统资源占用情况,默认情况下每三秒钟刷新一次。

在这里插入图片描述

3.pgrep 命令——查询进程信息

通过 pgrep 命令,可以只指定进程的一部分名称进行查询,结合“-l”选项可同时输出对应的进程名(否则只输出 PID 号,不便于理解)
在这里插入图片描述

还可结合“-U”选项查询特定用户的进程、“-t”选项查询在特定终端运行的进程。例如,若要查询由用户 teacher 在 tty2 终端上运行的进程及 PID 号
在这里插入图片描述

4.pstree 命令——查看进程树

pstree 命令可以输出 Linux 操作系统中各进程的树形结构,以更加直观地判断各进程之间的相互关系(父进程、子进程)。pstree 命令默认情况下只显示各进程的名称
-p 选项使用时可以同时列出对应的 PID 号
-u选项可以列出对应的用户名
-a选项可以列出完整的命令信息
在这里插入图片描述

二、控制进程

1.启动进程

手工启动进程

启动后台进程需要使用“&”操作符,将“&”操作符放在要执行命令的最后面,进程启动后会直接放入后台运行,而不占用前台的命令操作界面,方便用户进行其他操作。例如,当使 用 cp 命令从光盘中制作镜像文件时,由于需要复制的数据较多,耗时较长,因此可结合“&” 符号将复制操作放到后台运行,以便用户可以继续执行其他命令操作

调度启动进程

在服务器维护工作中,经常需要执行一些比较费时而且较占用资源的任务(如数据备份),这些任务更适合在相对空闲的时候(如夜间)进行。这时就需要用户事先进行调度安排,指 定任务运行的时间,当系统到达设定时间时会自动启动并完成指定的任务。调度启动的计划 任务进程均在后台运行,不会占用用户的命令终端。
进程的调度启动可以通过 at、crontab 命令进行设置,其中 at 命令用于设置一次性(如12:15 时重启网络服务)计划任务,crontab 命令用于设置周期性运行(如每周五 17:30 备份数据库)的计划任务。

2.改变进程的运行方式

挂起当前的进程

当 Linux 操作系统中的命令正在前台执行时(运行尚未结束),按 Ctrl+Z 组合键可以将当前进程挂起(调入后台并停止执行),这种操作在需要暂停当前进程并进行其他操作时特别有用。例如,在使用 wget 命令下载 Firefox 软件包时,发现下载速度缓慢,为了不耽误其他操作,可以按 Ctrl+Z 组合键将该下载任务调入后台并暂停执行

查看后台的进程

需要查看当前终端中在后台运行的进程任务时,可以使用 jobs 命令,结合“-l”选项可以同时显示该进程对应的 PID 号。在 jobs 命令的输出结果中,每一行记录对应一个后台进程的状态信息,行首的数字表示该进程在后台的任务编号。若当前终端没有后台进程,将不会显示任何信息。
在这里插入图片描述

使用 bg(BackGround,后台)命令,可以将后台中暂停执行(如按 Ctrl+Z 组合键挂起)的任务恢复运行,继续在后台执行操作;而使用 fg 命令(ForeGround,前台),可以将后台任务重新恢复到前台运行。
除非后台中的任务只有一个,否则 bgfg 命令都需要指定后台进程的任务编号作为参数。例如,执行如下的“fg 1”命令可以将之前挂起至后台的 wget 进程重新调入前台执行。

终止进程执行

当用户在前台执行某个进程时,可以按 Ctrl+C 组合键强制进行中断(如命令长时间没有响应的情况下)。中断前台进程的运行后,系统将返回命令行提示符状态等待用户输入新的命令。当按 Ctrl+C 组合键无法终止程序或者需要结束在其他终端或后台运行的进程时, 可以使用专用的进程终止工具 kill、killall 和 pkill。

(1)使用 kill 命令终止进程

通过 kill 命令终止进程时,需要使用进程的 PID 号作为参数。无特定选项时,kill 命令将给该进程发送终止信号并正常退出运行,若该进程已经无法响应终止信号,则可以结合“-9” 选项强行终止进程。强制终止进程时可能会导致程序运行的部分数据丢失,因此不到不得已时不要轻易使用“-9”选项。
在这里插入图片描述

(2)使用 pkill 命令终止进程

使用 pkill 命令可以根据进程的名称、运行该进程的用户、进程所在的终端等多种属性终止特定的进程,大部分选项与 pgrep 命令基本类似,如“-U”(指定用户)、“-t”(指定终端) 等选项,使用起来非常方便。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

精讲!查看和控制进程相关命令 的相关文章

  • 将数组传递给函数名称冲突

    Specs GNU bash 版本 3 1 17 无法升级 Premise 我一直在摆弄数组 我想知道是否有任何方法可以让函数的本地变量与所述函数外部的数组同名 Example 在下面的示例中 我将尝试显示该问题 Working bin b
  • 如何不断刷新屏幕并实时更新[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在linux上写一个C程序 不断刷新屏幕并实时更新 例如类似于top终端中的命令 谁能指出我正确的方向 为了保持它跨终端类型的可移
  • 在Linux中断上下文中运行用户线程

    我正在编写一些定制的应用程序 并允许更改 Linux 内核中的中断处理程序代码 我有一个用户线程正在等待中断发生 如果发生中断 那么我要做的第一件事就是执行该用户线程 有什么办法让它发挥作用吗 Thanks 创建一个字符设备 这就是内核所做
  • 在 Ubuntu 16.04 上找不到 printf.c

    我最近切换到Ubuntu 16 04 我在用vscode作为 Ubuntu 上的 IDE 我配置了其他语言 但我无法做到这一点C C 我创建c cpp properties json launch json tasks json 当我开始编
  • linux x86 汇编语言 sys_read 调用的第一个参数应为 0 (stdin)

    我正在编写一个简单的汇编程序来从标准输入读取 如 scanf 这是我的代码 section bss num resb 5 section txt global start start mov eax 3 sys read mov ebx 0
  • sleep 0 有特殊含义吗?

    我看到很多用法sleep 0在我的一个客户项目中 代码看起来像这样 while true sleep 0 end 阅读一些像这样的答案this https stackoverflow com questions 3727420 signif
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构
  • 如何查找连接到 AF_INET 套接字的客户端的 UID?

    有什么方法或类似的东西ucred for AF UNIX如果是AF INET插座 TCP在我的例子中 找出连接到我的套接字的客户端的UID 还有 proc net tcp但它显示了UID of the creator插座的而不是连接的cli
  • 设置 Apache POI 的路径

    我想创建 Excel 文件并使用 java 程序在该文件中写入数据 That is here http www techbrainwave com p 554我在 java 文件所在的位置提取了 Apache POI 并将该路径包含在路径变
  • 没有可用的符号表信息

    我正在测试第三方的库 它崩溃了 当我想查看崩溃的原因时 我的 gdb 告诉我没有可用的调试符号 Program received signal SIGSEGV Segmentation fault Switching to Thread 0
  • 在 /dev/input/eventX 中写入事件需要哪些命令?

    我正在开发一个android需要将触摸事件发送到 dev input eventX 的应用程序 我知道C执行此类操作的代码结构如下 struct input event struct timeval time unsigned short
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • 为什么我收到的数据包数据大小大于mss?

    我在两台 PC 上使用 ifconfig ethX mtu 300 修改了 MTU 并使用 netperf 测试网络 我用 WireShark 嗅探了 SYN 数据包中的 MSS 260 但我得到了一些大于 260 的数据包 为什么 嗅探器
  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我
  • bluetoothctl 到 hcitool 等效命令

    在 Linux 中 我曾经使用 hidd connect mmac 来连接 BT 设备 但自 Bluez5 以来 这种情况已经消失了 我可以使用 bluetoothctl 手动建立连接 但我需要从我的应用程序使用这些命令 并且使用 blue
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • Android:ANT 构建失败,并显示 google-play-services-lib:“解析为没有项目的 project.properties 文件的路径”

    我正在尝试使用 ANT 构建我的应用程序 但在包含 google play services lib 库项目后 我惨遭失败 Step 1 我在 project properties 文件中设置了对库项目的引用 android library
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh

随机推荐

  • 数字证书和密钥加密的理解

    1 密钥 密钥分为公钥和私钥 私钥只有一把 一般归内容发布者所有 而公钥有很多吧 有内容发布者发布给内容接受者 内容接受者用公钥来解密内容发布者用私钥加密的内容 2 密钥加密解密过程 首先 内容发布者会对内容进行hash处理 生成内容的摘要
  • bootstrap小例子(1)

    最近看了bootstrap的一个小的视频 快速的做出一个后台界面 介绍了一些典型的用法 里面涉及了 下拉菜单 胶囊菜单 胶囊菜单垂直显示 栅格排列 导航栏 字体图标 图片样式 输入组 折叠菜单panel 面包屑 表格样式 分页组件样式 下面
  • java中的IO与NIO

    一 IO与NIO 1 IO 简介 数据的以stream 流 的方式进行传输 流为IO流 IO是面向流的 分类 1 按流的方向 输入流 输出流 2 按流的性质 字节流 字符流 3 按流的角色 节点流 处理流 2 NIO 简介 数据的以块的方式
  • OKGO的使用和封装

    为什么要学习okgo框架 1 导入依赖 2 okgo GET请求 3 okgo POST请求 4 okgo 下载 获取下载进度 5 上传 OKGOHTTP封装 1 接口 2 单例 3 模型层接口 4 重写方法 5 在控制层controlle
  • Python简单实现数据降噪滤波处理_滢泷版

    Python简单实现数据降噪 滤波处理 滢泷版 由于项目需要对数据进行降噪滤波处理 又要尽可能保证变化特征不失真 我在网上搜索了一下Python的方库 没找到 我安装了scipy 之后找不到spline方法 也就知道怎么用了 顺便说一下 本
  • React18新特性

    React 团队在 2022 年 3 月 29 日正式发布了 React 的第 18 个版本 在这篇文章里简单介绍 React 18 的新特性 React Concurrent Mode 并发模式 的实现 以及简要的升级指南 New Fea
  • 机器学习-线性回归实验

    机器学习线性回归 用scikit learn和pandas学习线性回归 1 获取数据 定义问题 2 整理数据 3 准备数据 4 训练数据 5 模型评价 尝试用不同的线性模型进行训练 交叉验证 6 画图观察结果 7 python程序完整源代码
  • springboot中pom.xml、application.yml、application.properties

    首先 Java代码中是无法直接读取pom xml中的内容的 需要先把值转到xxx properties中 再通过程序读取xxx properties中对应的值 由于方式会被maven处理 如果你pom继承了spring boot start
  • HTTP的请求方式有哪些?

    一 GET方法 最常用的方法 它是发送一个请求来获取服务器上的资源 资源通过HTTP响应头和数据 如html文档 图片 样式 视频等 返回给客户端 如浏览器 二 POST方法 常用方法 用于向服务器提交数据 请求的参数要在请求体 body
  • 常用php正则表达式

    d 非负整数 正整数 0 0 9 1 9 0 9 正整数 d 0 非正整数 负整数 0 0 9 1 9 0 9 负整数 d 整数 d d 非负浮点数 正浮点数 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1
  • FATFS文件系统常用指令

    FATFS文件系统常用指令 一 说明 以官网下载的 ff12b 版本为例 定义变量举例 FRESULT res 文件操作结果 FATFS fs FatFs文件系统对象 FIL fp 文件对象 UINT br 文件成功写入数量 UINT bw
  • 安卓开发常用icon/png图样

    安卓开发常用icon png图样 平时开发当中会用到很多png图样 但是自己又不太会做 因此做好的办法就是直接在网上下载下来用了 这里给大家推荐一个比较好用的网站 免费的 有很多好的png可以直接下载下来使用 http www iconar
  • 磁盘达到99%的原因和解决方案

    今天查看了下任务管理器 发现磁盘管理达到99 我才开机没多久 没理由这么高的读取 频率 网上查了一下 发现是百度云的问题 一般是wsappx进程占用磁盘读取 解决方案 卸载百度云
  • JAVA获取两个List的交集、差集以及并集

    import java util Set import java util List import java util HashSet import java util TreeSet import java util Iterator i
  • [elementplus]日期时间控件datetimePick在选择时间时12小时制和24小时制

    使用日期时间控件
  • R学习笔记-安装R和RStudio,注意RStudio的版本需要与操作系统版本匹配

    1 安装步骤 先安装R 再安装RStudio RStudio是R的集成开发工具 本身不带R环境 2 从当前R的官网和RStudio下载的R和RStudio的版本分别为 A For Windows R 3 5 3 win exe RStudi
  • WinForm项目Form1设计器提示未能加载System

    WinForm项目 做项目的时候遇到一个问题 无论是新建的空白项目 第二次打开 还是旧项目重新打开 都会出现这样的问题 问题描述 WinForm项目 每次打开项目 都会弹出报错 关闭Form1设计器再打开就好了 但下次重新打开项目 又会弹出
  • 测试环境搭建及维护

    搭建良好的测试环境是执行测试用例的前提 也是完成测试任务顺利完成的保证 测试环境大体可分为硬件环境和软件环境 硬件环境包括测试必须的PC机 服务器 设备 网线 分配器等硬件设备 软件环境包括数据库 操作系统 被测试软件 共存软件等 特殊条件
  • GD32替代STM32全过程记录

    一 前言 最近半导体行业出现的缺货浪潮 各种芯片价格飙升 像一些常用芯片如STM32F103C8T6 从去年的5块一片涨价到现在的65一片 涨幅17倍 在这种情况下 大家纷纷在找一些国产芯片来替代ST的芯片 而在国产中做的比较好的芯片就是兆
  • 精讲!查看和控制进程相关命令

    这里写目录标题 一 查看进程的相关命令 1 ps 命令 查看静态的进程统计信息 Processes Statistic 2 top 命令 查看进程动态信息 3 pgrep 命令 查询进程信息 4 pstree 命令 查看进程树 二 控制进程