【Linux学习】Linux进程(二)

news/2024/5/4 22:37:07

文章目录

    • 📕查看进程
      • 🚀/proc目录
      • 🚀cwd与exe
    • 📕改变进程的工作目录
      • 🚀chdir指令
    • 📕vim卡住了怎么解决


本篇文章接着【LInux进程(一)】继续编写。

📕查看进程

🚀/proc目录

除了上篇文章中的用ps命令在系统中去搜索去查,还有一种方法。
Linux系统会把进程相关的内存的数据以文件系统的形式存储在一个特定的目录里面,这个目录在那里呢?是在 /proc目录下的。

该目录是在根目录下的。

说白了,就是每个进程的数据以文件的形式给我们存储起来了,显示到我们的文件系统上。
在这里插入图片描述

当我们运行一个伪代码时,然后再去/proc目录里面去查看该进程,发现是可以查看到的,但是当我们ctrl^C结束进程后,就查询不到了。
在这里插入图片描述

🚀cwd与exe

当我们打开这个文件可以发现两个数据,如下图,cwd(下面会简单讲解)与exe
红色圈出来的是:当前这个进程16229对应的磁盘上对应的可执行程序以及所在的路径。
在这里插入图片描述

我们来看这样一个现象:(如图)
当我们启动一个进程的时候,这个进程已经在运行了,然后把它的可执行程序删除掉了,但是这个我们查询到该进程还在执行,只不过查询到的进程的exe处于高亮闪烁状态。
在这里插入图片描述
思考:那为什么可执行程序都删除了,怎么还在运行呢?

  • 因为在运行一个程序的时候,实际上是将程序从磁盘拷贝到了内存,换句话说,我们现在的进程体积比较小,已经被拷贝到内存了,删除了可执行程序实际是将磁盘上的删除了,内存中没有删除。

现在我们现在看看cwd是什么意思:当前进程所对应的当前工作目录。

  • 我们先来看看这句话的理解:
    文件操作:当我们用fopen打开一个文件的时候,如果这个文件是不存在的文件,则会再当前路径下,创建一个文件。这个当前路径是深什么意思呢?
    意思就是当前进程所对应的cwd(当前工作目录)。这个路径和源代码在同一个目录下,就是当我们在Vs中,打开当前路径,这就是对应的该进程的工作目录。

📕改变进程的工作目录

🚀chdir指令

指令 chdir,输入指令查看该指令

# man 2 chdir

如图:
在这里插入图片描述
使用下面该伪代码看看chdir的使用

下面代码的测试逻辑:

首先打印进程编号(查询当前目录是否改变),然后当打印出改变当前目录后,再次查询当前目录是否改变,等已经创建完成后,去改到的目录里面去查看是否新建了该文件。

  1 #include<stdio.h>2 #include<sys/types.h>3 #include<unistd.h>4 5 int main()6 {7     printf("slef id:%d\n",getpid());8     printf("改变工作目录前\n");9 10     sleep(30);11     chdir("/home/tw");12     printf("改变工作目录后\n");13     sleep(30);14 15     FILE* fp = fopen("file.txt","w");16     if(fp==NULL)17         return 0;18     fclose(fp);19                                                                                20     printf("文件创建完成\n");21     sleep(50);22     return 0;23 }

运行结果:
在这里插入图片描述

📕vim卡住了怎么解决

这个问题我是经常碰到:vim突然按什么都没反应,卡死一样,解决方法也很简单。

  • 1.原因:按了[crtl]+s 停止了vim界面刷新
  • 2.解决办法:按下 [crtl]+q恢复界面刷新


http://www.mrgr.cn/p/54646517

相关文章

《统计学习方法》 第4章 朴素贝叶斯法

文章目录 前言一、朴素贝叶斯法二、朴素贝叶斯法的学习和分类三、朴素贝叶斯算法四、贝叶斯估计总结 前言 本文只要记录一些书中的一些小知识点&#xff0c;挑一些本人认为重要的地方进行总结。 各位道友&#xff01;道长(zhǎng) 道长(chǎng) 一、朴素贝叶斯法 朴素贝叶斯…

最新AI创作系统ChatGPT网站源码Midjourney-AI绘画系统,Suno-v3-AI音乐生成大模型。

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GPT…

用于车载T-BOX汽车级的RA8900CE

用于车载T-BOX等高精度计时的汽车级时钟模块RTC:RA8900CE.车载实时时钟芯片RA8900CE内置32.768Khz的晶体&#xff0c;实现年、月、日、星期、小时、分钟和秒精准计时。RA8900CE满足AEC-Q200认证&#xff0c;内置温补功能&#xff0c;保证实时时钟的稳定可靠&#xff0c;功耗低至…

c++ - 模板(一)

文章目录 一、函数模板 一、函数模板 1、概念 函数模板代表了一个函数家族&#xff0c;该函数模板与类型无关&#xff0c;在使用时被参数化&#xff0c;根据实参类型产生函数的特定 类型版本。 2、原理 函数模板是一个蓝图&#xff0c;它本身并不是函数&#xff0c;是编译器用…

ADOP带您科普:精准分配/稳定传输:光纤耦合器的未来

光纤自环器&#xff0c;也称为光模块自环测试回路器&#xff0c;用于测试系统或网络系统中的信号回传。通过回传信号&#xff08;主要是成对连接TX发射端到RX的接收端一侧&#xff09;&#xff0c;可以检测网络链路中各种潜在的异常。 让我们深入了解一下这个设备的作用和分类&…

Spring Boot 的文件配置

SpringBoot的配置文件,有三种格式 1.properties 2.yaml 3.yml(yaml的简写) 这里主要介绍1和3格式的。 在项目中,同时存在properties和yml配置文件, properties的优先级更高 同时存在时,两个文件都生效 如果两个文件中,都包含同一个配置,以properties为主。 properties的配置…

oracle 12c+ max_string_size参数

一个客户的数据库版本是19.3,在做数据库复制的时候,目标端报错了,查看了一下问题发现表的字段长度有不对,在12c以前我们都知道varchar的长度最大是4000,但是客户这里居然有32767: 把客户的建表语句弄出来,放到我的一个19c的测试环境进行测试: 发现报错了: 这里报错很明显了,是M…

Linux:动静态库介绍

动静态库 库的介绍开发环境 & 编译器库存在的意义库的实现库的命名静态库制作和使用总结 动态库的制作和使用动态库的使用方法方法一方法二方法三 库加载问题静态库加载问题动态库的加载问题与位置无关码 C/C静态库下载方式 库的介绍 静态库&#xff1a;程序在编译链接的时…

mac IDEA激活 亲测有效

1、官网下载mac版本IDEA并安装 2、打开激活页面 3、下载脚本文件 链接: https://pan.baidu.com/s/1I2BqdfxSJv1A96422rflnA?pwdm494 提取码: m494 4、命令行到该界面&#xff0c;执行 sudo bash idea.sh 可能出现的问题&#xff1a; 查看sh文件&#xff0c;targetFilePath…

如何爬出 Kotlin 协程死锁的坑?

作者&#xff1a;悬衡 一、前言 在 Java 中有一个非常经典的死锁问题, 就是明明自己已经占用了线程池, 却还继续去申请它, 自己等自己, 就死锁了, 如下图和代码: // 这段代码将死锁到天荒地老final ExecutorService executorService Executors.newSingleThreadExecutor();exe…

uniapp——组件多颜色模块展示、气泡框

一、自定义颜色&#xff1a; 样式 代码 <template><view class"content"><!-- 右上角 --><view class"coverStatus" :class"[itemClass, positionClass,cornerClass,sanJiaoCss,sanJiaoCss2]":style"dynamicStyle&q…

云南旅游攻略

丽江景点 Day1 ——丽江古城 丽江古城是一个充满文化和历史的地方&#xff0c;拥有丰富的景点和活动。 推荐游玩&#xff1a; 参观标志性建筑&#xff1a;大水车是丽江古城的标志性建筑&#xff0c;可以在这里拍照留念。 探索中心广场&#xff1a;四方街是古城的中心&#xf…

EPSON晶振应用到汽车电子产品上的型号有哪些?

EPSON品牌应用在汽车电子产品上的晶振.&#xff0c;当然也少不了晶振可能最熟悉的就是32.768K系列和26MHZGPS晶振用的多。 在汽车里每一个部件都应有的不一样,甚至多次使用到同一尺寸,不同频率的晶振.爱普生品牌晶振型号就有几百种,很容易混淆,要想记住汽车里所应用到的不是件…

架构师系列-MYSQL调优(六)- 排序优化

MySQL中的两种排序方式 索引排序: 通过有序索引顺序扫描直接返回有序数据额外排序: 对返回的数据进行文件排序ORDER BY优化的核心原则: 尽量减少额外的排序&#xff0c;通过索引直接返回有序数据。 索引排序 因为索引的结构是B树&#xff0c;索引中的数据是按照一定顺序进行…

19--Scarpy05:增量式爬虫、分布式爬虫

19--Scarpy05--增量式爬虫、分布式爬虫 一. 增量式爬虫 顾名思义:可以对网站进行反复抓取,然后发现新东西了就保存起来,遇到了以前抓取过的内容就自动过滤掉即可 其核心思想:去重,并且可以反复去重。随时运行一下,将不同的数据保存出来,相同的数据去除掉(不保存)即可 增…

系统架构设计精华知识

数据流风格&#xff1a;适合于分阶段做数据处理&#xff0c;交互性差&#xff0c;包括&#xff1a;批处理序列、管理过滤器。调用/返回风格&#xff1a;一般系统都要用到&#xff0c;包括&#xff1a;主程序/子程序&#xff0c;面向对象&#xff0c;层次结构&#xff08;分层越…

C++从入门到出门

C 概述 c 融合了3中不同的编程方式&#xff1a; C语言代表的过程性语言C 在C语言基础上添加的类代表的面向对象语言C 模板支持的泛型编程 1、在c语言中头文件使用扩展名.h,将其作为一种通过名称标识文件类型的简单方式。但是c得用法改变了&#xff0c;c头文件没有扩展名。但是…

The_Maya_Society

突然发现自己做了一些逆向题都没有写笔记 今天&#xff0c;发现这道题有意思 1.解压文件 三个文件The Maya Society.html&#xff0c;maim.cc,maya.png 当时我看到这个题的时候&#xff0c;我以为是不是会是js逆向 看来是我蠢了 这三个文件&#xff0c;main.css和maya.png这两…

循序渐进丨使用 Python 向 MogDB 数据库批量操作数据的方法

当我们有时候需要向数据库里批量插入数据&#xff0c;或者批量导出数据时&#xff0c;除了使用传统的gsql copy命令&#xff0c;也可以通过Python的驱动psycopg2进行批量操作。本文介绍了使用psycopg2里的executemany、copy_from、copy_to、copy_expert等方式来批量操作 MogDB …

2024 年 GPLT 团体程序设计天梯赛(个人感受 + 题解)

前言 去年第一次参加天梯赛,拿了 \(158\) 分,没有个人奖,团队也差点打铁(最后应该是递补省三)。 今年天梯赛拿了 \(224\) 分,幸运地拿了个人国二。这次担任的队长,团队也拿到了国二,感谢队友们的努力付出。 今年好像很多人断网,不过没有发生在我身上哈哈哈(也许是因为…