1. 僵尸进程上一篇文章进程的状态中最后我们提出了僵尸状态:为了方便子进程退出后父进程或操作系统获取该进程的退出结果,Linux进程退出时,进程一般不会立即死亡,而是要维持一个Z状态即——僵尸状态。那处在僵尸状态的进程即僵尸进程,那首先我们就要来重点理解一下僵尸进程。那我们来给大家讲一个故事:假如你呢是一名非常自律上进的大学生,每天早晨都有到外面跑步的好习惯
......
191
0
0
2024-05-02
前言在前面的学习中,我们已经学习了进程的概念和基本创建,以及如何通过相关的系统调用创建进程和获取进程标识符。那为了弄明白正在运行的进程是什么意思,我们需要了解进程的不同状态1. 准备工作先问大家一个问题:我们使用一个应用的时候,比如我们打开电脑上的爱奇艺看电影,那在看电影的过程中这个应用对应的进程是否是一直在不停的运行呢?🆗,那其实呢它并不是一直在不停运行的
......
205
0
0
2024-05-02
一.时间的相关指令date显示单纯的输入 date 会以这种形式输出:但其实这种形式我们看着是不太习惯的,我们可以指定形式输出: 格式为:date +选项 %H : 小时(00..23) %M : 分钟(00..59) %S : 秒(00..61) %X : 相当于 %H:%M:%S %d : 日 (01..31) %m : 月份 (01..12) %Y :
......
237
0
0
2024-05-02
一.你如何看待指令指令说白了就是可执行程序,且指令一定是在系统的某一个位置存在的,在执行指令前,我们需要先找到它。二.man指令众所周知,Linux的指令有很多,指令的选项也有很多,我们不可能全记住,但可以通过查看联机手册获取帮助,只需要用到 man指令,然后加上你要查的内容即可。有的老铁可能用的是云服务器,云服务器的手册其实是精简版,有的指令不一定能查到,
......
207
0
0
2024-05-02
这篇文章我们继续学习Linux中的开发工具。 经过之前的学习,我们已经能够在Linux上编写代码、运行代码和通过git管理代码了。但是如何在Linux上调式代码我们还不知道,所以今天要学的是Linux调试器——gdb 的基本使用。1. 准备工作及知识补充那要使用调式器调式,首先我们得有代码,有可执行程序。1.1 源文件和Makefile所以,我先来写一个代码
......
159
0
0
2024-05-01
这篇文章我们一起来完成我们Linux中的第一个小程序——进度条1. 对回车(\r)和换行(\n)的理解1.1 概念理解在C语言中,字符可以分为可显字符(printable characters)和控制字符(control characters)。可显字符是指可以在屏幕或打印输出上显示的字符,它们包括数字、字母、标点符号、符号等。可显字符可以直接被用户看到,并
......
151
0
0
2024-05-01
我们继续Linux开发工具的学习,这篇文章我们要学的是Linux中的项目自动化构建工具——make/Makefile1. 背景make和makefile提供了自动化构建的能力,可以根据源文件的依赖关系和规则自动决定哪些文件需要重新编译。而直接使用gcc需要手动指定每个源文件的编译命令,不具备自动化的构建功能。会不会写makefile,从一个侧面说明了一个人是
......
141
0
0
2024-05-01
这篇文章我们继续学习Linux中的开发工具,今天要学的是: Linux下的编译器——gcc/g++1. 概念我们先来简单了解一下它们的概念:gcc (GNU Compiler Collection) 和 g++ 是 Linux 系统上最常用的编译器。它们是 GNU 组织开发的一套开源编译器工具集。gcc:gcc 是 GNU 编译器集合中的 C 语言编译器。
......
160
0
0
2024-05-01
从这篇文章开始,我们要来学习一些Linux中的开发工具。这篇文章,我们先来学习一下Linux中的文本编辑器——vim。1. 什么是vim首先我们来认识一下什么是vimVim(Vi IMproved)是一款文本编辑器,它是从 Vi 编辑器发展而来的。Vim 在功能上比 Vi 更加强大,并提供了更多的扩展性和定制选项。 vi/vim的区别简单点来说,它们都是多模
......
158
0
0
2024-05-01
这篇文章我们要学习的是—— Linux 软件包管理器 yum。1. 什么是yum首先来问大家一个问题:我们平时使用的手机上,都会有一个应用叫做“应用商店”,那大家思考一下,我们在应用商店里面去下载一些软件的时候,这些软件是从本地直接下载的呢还是从远端的服务器下载的?那这个相信大家都应该知道,手机应用商店下载的软件是通过互联网从远端服务器下载到用户设备的。远端
......
142
0
0
2024-04-30
上一篇文章我们学习了Linux权限相关的内容,这篇文章,我们再来学习一个知识点——粘滞位。1. 背景那为了让大家更容易理解粘滞位的概念,首先我们要来了解一点背景知识:就是我们在使用Linux的时候呢,有时候就可能需要一些共享目录,即被所有普通用户共享,用来保存普通用户产生的临时数据。那为什么可能会需要共享目录呢?我们来简单分析一下:我们知道所有普通用户的家目
......
157
0
0
2024-04-30
前言这篇文章我们接着上一篇的内容,继续学习Linux中一些常见的基本指令。1. cp 指令(重要)在Windows中我们经常可能会复制一个文件,然后粘贴到另一个地方。那在Linux也可以对文件或者目录进行复制,对应的命令就是cp,那怎么用呢?演示一下:当前目录下有一个目录dd,里面是空的,还有一个文件add.c如果我现在想把文件add.c拷贝到dd目录里,怎
......
149
0
0
2024-04-30
1. Linux背景1.1 发展史本门课程学习Linux系统编程,你可能要问Linux从哪里来?它是怎么发展的?在这里简要介绍Linux的发展史。要说Linux,还得从UNIX说起。UNIX发展的历史1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了
......
149
0
0
2024-04-30
什么是容器退出码当容器终止时,容器引擎使用退出码来报告容器终止的原因。如果您是 Kubernetes 用户,容器故障是 pod 异常最常见的原因之一,了解容器退出码可以帮助您在排查时找到 pod 故障的根本原因。以下是容器使用的最常见的退出码:退出码名称含义0正常退出开发者用来表明容器是正常退出1应用错误容器因应用程序错误或镜像规范中的错误引用而停止125容
......
160
0
0
2024-04-30
这个是在网上找的一张关于vim键盘的图1. 前言vim是Linux编辑器,功能上和记事本没有区别。不仅仅可以用来写c语言和c++,其它语言也可以在上面写。2. vim的基本概念vim是一款多模式的编辑器,但是目前掌握这3种即可,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功
......
187
0
0
2024-04-28