当前位置: 首页 > news >正文

Linux进程管理命令

一、进程
程序由一条条指令构成,在运行一个程序的时候就是把这些指令从第一条执行到最后一条,而进程是一个正在运行的程序。

比如说,一个main.c文件是不可以直接运行的,对main.c进行编译链接之后生成一个main.exe(在Windows系统中)或main(在Linux系统中),这里的main.exe或者main叫做可执行程序,这个可执行程序是二进制的。所以,其实程序是一个二进制文件,计算机把它运行或者执行起来,它就会产生一个进程。操作系统管理这些进程。

每一个进程都有一个id号为pid,这个pid就是用来唯一标识一个进程的,每个进程的id都是唯一的。

二、进程管理命令

1.ps命令,默认显示与当前终端有关的进程信息

(1)ps
显示的是当前终端中所运行的进程,而不是整个系统所运行的进程:

在这里插入图片描述

从显示的结果可以看出,当前终端中有2个进程,bash打印的内容为:

在这里插入图片描述

ps打印的就是当前终端的进程信息。

【注意】执行3次ps:

在这里插入图片描述
我们可以发现,ps进程的id号逐渐变大,这是因为在第一个ps进程结束以后,它对应的id就会被释放出来,释放出来的id号可以被别的进程再次使用,被复用,但是并不是刚释放出来就被别的进程去使用;当第二次再运行ps时,它的id号会在原有的基础上增加,当id值一直增加到它的最大值以后,才会后头重新寻找没有被使用的id值,也就是被释放出来的id值。

(2)ps -f,显示更多的进程属性信息(全格式),即详细信息。

在这里插入图片描述

(3)ps -e,显示系统中所有的进程信息。我们发现第一个进程的编号是从1开始:

在这里插入图片描述

(4)ps -ef,显示系统中所有的进程的详细信息:

在这里插入图片描述

(5)ps -L,显示进程中的线程ID,LWP就代表线程id:

在这里插入图片描述

2.sleep n,表示睡眠(阻塞)n秒钟。

重新打开一个终端,输入sleep 400,表示睡眠400秒:

在这里插入图片描述

再回到之前打开的终端输入ps,并不能看到刚刚重新打开的终端中的sleep进程:

在这里插入图片描述
输入ps -ef来查看系统中所有进程的详细信息,这时我们就可以看到刚刚在新的终端中运行的sleep进程:

在这里插入图片描述

但是这样很麻烦,我们可以通过管道和过滤来查看,ps -ef | grep "sleep"

在这里插入图片描述

这样就非常方便。

3.Ctrl+c用来结束前台运行进程

结束刚刚sleep 400的进程:

在这里插入图片描述

4.kill命令

(1)kill pid结束或者挂起一个进程,后台和前台的进程都可以通过kill来结束。

先重新打开一个终端,输入sleep 600,表示睡眠600秒:

在这里插入图片描述

然后在另一个终端找到刚刚创建的新的终端中进程sleep的id:

在这里插入图片描述

可以看到整个进程的id是3451。

然后输入kill 3451,表示通过id号来结束整个进程:

在这里插入图片描述

(2)kill -9 pid,强制结束进程

在一个终端中输入sleep 400,表示睡眠400秒,然后按Ctrl+z停止这个进程:

在这里插入图片描述

查看当前终端中的所有进程,发现sleep还在:

在这里插入图片描述

然后通过kill ipd去结束这个进程,发现结束不了:

在这里插入图片描述

这时就需要通过kill -9 pid强制结束这个进程:

在这里插入图片描述
(3)kill -stop pid,挂起一个进程。

5.命令 &,表示这个进程在后台运行

在这里插入图片描述

如果该进程在后台运行,我们在终端就还可以进行操作,比如说上面的ps命令查看进程信息;但是如果该进程在前台运行,那么我们在终端不能进行操作,只有在该进程结束后,才能进行其他操作。

6.pstree命令,以树状图形式显示进程之间的关系

在这里插入图片描述

7.jobs命令,显示当前后台的任务

如下图所示,当前后台没有任务:

在这里插入图片描述

创建一个在后台执行的进程,然后通过jobs来显示当前后台的任务:

在这里插入图片描述

8.前台和后台之间的切换

(1)fg %任务号将后台运行的或挂起的进程挪到前台执行:

在这里插入图片描述

(2)bg %任务号将挂起的进程唤醒到后台执行

先在前台创建一个睡眠400秒的进程:sleep 400,然后通过Ctrl+z停止这个进程:

在这里插入图片描述

然后通过jobs命令显示后台的进程,发现sleep 400这个进程的状态是停止:

在这里插入图片描述

这时,通过bg %任务号,将停止的进程sleep 400唤醒到后台执行:

在这里插入图片描述

9.top指令

查看系统资源使用情况以及进程信息

输入top指令进行查看,输入q退出

在这里插入图片描述

相关文章:

Linux进程管理命令

一、进程 程序由一条条指令构成,在运行一个程序的时候就是把这些指令从第一条执行到最后一条,而进程是一个正在运行的程序。 比如说,一个main.c文件是不可以直接运行的,对main.c进行编译链接之后生成一个main.exe(在W…...

pytest 常用命令参数

-x 用例一旦失败或错误时就立即停止执行 共两条用例,运行第一条报错失败或报错,第二条就不会执行 pytest -vs -x test_pytest_study.py::TestCommon1 共2条用例,当执行到第一条失败时候,第二条不执行 --maxfailnum …...

从安装 Seata 开始的分布式事务之旅 springboot集成seata

从安装 Seata 开始的分布式事务之旅 介绍什么是 Seata? 安装 Seata Server下载 Seata Server 发行版配置Seata解压文件配置Seata的yml文件把配置文件config.txt加载到nacos上修改config.txt文件加载到nacos上 启动Seata服务正常启动查看启动日志打开控制台页面 启动…...

Laravel 使用mix引入本地样式文件 报错 Unable to locate Mix处理

刚下了一个bootstrap样式文件,mix引入了一下,直接报错: Unable to locate Mix file: /css/bootstrap.min.css. (View: D:\phpEnv\www\abc\resources\views\admin\noteAdd.blade.php)原来是需要 npm run dev 启动一下 ✔ Compiled Successfu…...

QT学习笔记-QT安装oracle oci驱动

QT学习笔记-QT安装oracle oci驱动 0、背景1、环境以及条件说明2、编译驱动2.1 下载oracle instant client2.2 编译qt oci驱动2.2.1 修改oci.pro2.2.2 MinGW64构建套件编译2.2.3 MSVC2019_64构建套件编译 3、访问数据库运行成功 0、背景 在使用QT开发应用的过程中,往…...

【React学习】—类的基本知识(五)

【React学习】—类的基本知识&#xff08;五&#xff09; <script>// 创建一个Person类class Person{//构造器方法constructor(name,age){this.namename;this.ageage;}//一般方法speak(){//speak方法一般放在哪里&#xff1f;类的原型上&#xff0c;供实例使用//通过Pers…...

【AI】《动手学-深度学习-PyTorch版》笔记(十六):自定义网络层、保存/加载参数、使用GPU

AI学习目录汇总 1、自定义网络层 自定义网络层很简单,三步即可完成 继承类:nn.Module定义初始化函数:__init__中定义需要初始化的代码定义向前传播函数:forward1.1 不带参数的网络层 1)定义网络层 import torch import torch.nn.functional as F from torch import nn…...

微软杀入Web3:打造基于区块链的AI产品

作者&#xff1a;秦晋 2023年1月&#xff0c;微软向 ChatGPT 创建者 OpenAI 投资 100 亿美元&#xff0c;在AI业界引发格外关注。此举也让微软在AI的战略探索上提前取得有利位置。 2023年3月&#xff0c;微软软件工程师 Albacore 披露微软正在为Edge 浏览器测试内置的非托管加密…...

聊聊51单片机

目录 1.介绍 2.发展 3.应用领域 4.发展前景 1.介绍 51单片机&#xff08;AT89C51&#xff09;是一种常见的8位微控制器&#xff0c;属于Intel MCS-51系列。它是一种低功耗、高性能的单片机&#xff0c;广泛应用于嵌入式系统中。 51单片机具有很多特点和功能&#xff0c;例如…...

Linux yum 命令,Linux apt 命令

目录 Linux yum 命令 yum 语法 yum常用命令 实例 1 实例 2 实例 3 国内 yum 源...

Vue+SpringBoot项目开发:登录页面美化,登录功能实现(三)

写在开始:一个搬砖程序员的随缘记录上一章写了从零开始VueSpringBoot后台管理系统&#xff1a;Vue3TypeScript项目搭建 VueTypeScript的前端项目已经搭建完成了 这一章的内容是引入element-plus和axios实现页面的布局和前后端数据的串联&#xff0c;实现一个登陆的功能&#x…...

2.若依前后端分离版第一个增删查改

1.介绍 若依提供了代码生成功能&#xff0c;单表的CRUD可以直接用若依框架提供的代码生成进行创建。 2.实现 2.1 在数据库创建业务表test_teacher 2.2 生成代码 运行系统&#xff0c;进入菜单[系统工具]-》[代码生成],点击导入按钮&#xff0c;选择需要生成代码的表进行导…...

javaSE_2.2——【方法的介绍】

1.方法的定义 &#xff08;1&#xff09;方法声明的语法规则如下所示&#xff1a; [修饰符] 返回值类型 方法名称([参数列表]){// 方法体 } 方法修饰符&#xff1a;是一种关键字&#xff0c;用来描述方法、类、变量等各种元素的声明&#xff0c;一个程序可以同时拥有多个修饰…...

【02】基础知识:typescript数据类型

1、布尔类型 boolean let flag: boolean false2、数字类型 number let num: number 6 //十进制 let num2: number 0xf00d //十六进制 let num3: number 0b1010 //二进制 let num4: number 0o744 //八进制3、字符串类型 string 用双引号&#xff08;“&#xff09;或单引…...

DIP: NAS(Neural Architecture Search)论文阅读与总结(双份快乐)

文章地址: NAS-DIP: Learning Deep Image Prior with Neural Architecture SearchNeural Architecture Search for Deep Image Prior 参考博客:https://zhuanlan.zhihu.com/p/599390720 文章目录 NAS-DIP: Learning Deep Image Prior with Neural Architecture Search1. 方法…...

AI:02-基于深度学习的动物图像检索算法的研究

文章目录 一、算法原理二、代码实现三、实验结果四、总结深度学习在计算机视觉领域中的应用越来越广泛,其中动物图像检索算法是一个重要的应用场景。本文将介绍一种基于深度学习的动物图像检索算法,并提供相应的代码实现。 一、算法原理 本算法采用卷积神经网络(Convolutio…...

IDEA项目实践——Spring集成mybatis、spring当中的事务

系列文章目录 IDEA项目实践——创建Java项目以及创建Maven项目案例、使用数据库连接池创建项目简介 IDEWA项目实践——mybatis的一些基本原理以及案例 IDEA项目实践——动态SQL、关系映射、注解开发 IDEA项目实践——Spring框架简介&#xff0c;以及IOC注解 IDEA项目实践—…...

6-Ngnix配置反向代理

1.前提 虚拟机能连接外网 仿真http应用需在本虚拟机启用(原因&#xff1a;只有一台虚拟机做测试) http_8080和http_8081要启用&#xff08;http测试应用&#xff09; [rootcent79-2 ~]# ls -l http_* -rwxr-xr-x 1 root root 6391676 Jul 19 13:39 http_8080 -rwxr-xr-x 1 …...

构建 LVS-DR 群集、配置nginx负载均衡。

目录 一、基于 CentOS 7 构建 LVS-DR 群集 1、准备四台虚拟机 2、配置负载调度器&#xff08;192.168.2.130&#xff09; 3、部署共享存储&#xff08;192.168.2.133&#xff09; 4、配置两个Web服务器&#xff08;192.168.2.131、192.168.2.132&#xff09; 测试集群 二…...

【UE4的垃圾回收】

UE4的垃圾回收 1 UObjects及子类1.1 UObjects类包含UObjects成员&#xff08;UPROPERTY&#xff09;1.2 UObjects类包含非UObjects成员 2 非UObject及子类2.1 非UObjects类包含UObjects成员12.2 非UObjects类包含UObjects成员22.3 非UOjbects类包含非UObjects成员 3 UStructs4 …...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

2025-05-08-deepseek本地化部署

title: 2025-05-08-deepseek 本地化部署 tags: 深度学习 程序开发 2025-05-08-deepseek 本地化部署 参考博客 本地部署 DeepSeek&#xff1a;小白也能轻松搞定&#xff01; 如何给本地部署的 DeepSeek 投喂数据&#xff0c;让他更懂你 [实验目的]&#xff1a;理解系统架构与原…...

CVE-2023-25194源码分析与漏洞复现(Kafka JNDI注入)

漏洞概述 漏洞名称&#xff1a;Apache Kafka Connect JNDI注入导致的远程代码执行漏洞 CVE编号&#xff1a;CVE-2023-25194 CVSS评分&#xff1a;8.8 影响版本&#xff1a;Apache Kafka 2.3.0 - 3.3.2 修复版本&#xff1a;≥ 3.4.0 漏洞类型&#xff1a;反序列化导致的远程代…...

RabbitMQ 各类交换机

为什么要用交换机&#xff1f; 交换机用来路由消息。如果直发队列&#xff0c;这个消息就被处理消失了&#xff0c;那别的队列也需要这个消息怎么办&#xff1f;那就要用到交换机 交换机类型 1&#xff0c;fanout&#xff1a;广播 特点 广播所有消息​​&#xff1a;将消息…...

mcts蒙特卡洛模拟树思想

您这个观察非常敏锐&#xff0c;而且在很大程度上是正确的&#xff01;您已经洞察到了MCTS算法在不同阶段的两种不同行为模式。我们来把这个关系理得更清楚一些&#xff0c;您的理解其实离真相只有一步之遥。 您说的“select是在二次选择的时候起作用”&#xff0c;这个观察非…...