Linux
文章平均质量分 84
maove
不积跬步,无以至千里;不积小流,无以成江海。
展开
-
Linux信号机制
一、常见的信号有哪些使用kill -l 命令可以查看所有的信号。常用的命令及说明如下:信号(信号值)信号产生默认动作SIGINT(2)键盘中断Ctrl+c终止进程SIGKILL(9)kill - 9 pid杀死进程&不能被捕获&不能被忽略SIGSEGV(11)段错误、无效的内存引用终止进程SIGTERM(15)kill pid 或 killall 进程名终止进程SIGCHLD(17)子进程死的时候会给父进程发送这个信原创 2021-03-20 22:18:01 · 138 阅读 · 0 评论 -
Linux进程间通信---管道
管道是Linux进程间通讯的一种手段,管道本质其实就是一个文件。管道的类型有两种:无名管道:用于父子进程的通信,或者兄弟进程之间的通信。有名管道:用户两个独立的进程间通信,有名管道也叫 FIFO。1、无名管道通过man 2 pipe 可以查看Linux手册中关于pipe介绍:#include <unistd.h>int pipe(int pipefd[2]);通过 pipe(int pipefd[2]) 函数可以创建一个无名管道,无名管道是一种半双工(单向)的进程间通信方式。原创 2020-12-26 16:17:13 · 154 阅读 · 0 评论 -
fork子进程
一、相关函数fork函数:创建一个新的进程,当前进程是新进程的父进程通过man 2 fork命令可以查看linux手册中第二节关于fork函数的介绍 #include <unistd.h> pid_t fork(void);fork函数返回值类型是pid_t ,本质就是一个int类型的值,它有3中可能的返回结果:-1:创建失败,在父进程中返回-10:创建成功,当前进程是子进程其他:创建成功,在父进程中返回子进程的pid(进程 ID)linux系统还提供了一些函数,用来获原创 2020-12-22 22:26:01 · 3766 阅读 · 0 评论 -
Linux物理内存与虚拟内存
一、为什么需要虚拟内存要理解虚拟内存首先要明白为什么需要虚拟内存,物理内存就是我们通常所说的内存条。我们知道,相比于从硬盘中读写数据,直接读写内存的速度要快很多,但是内存的大小要比硬盘小很多。 要知道每个进程都有自己独立的4G内存空间,以16G的内存来说,如果我们在加载程序的时候直接给它分配4G大小的内存,那么像这种大小的程序,只要加载4个我们的内存就会被全部耗尽。然而,我们查看进程管理器可以发现系统中可能运行着几十个程序。为了解决这个问题,就有了虚拟内存的概念,它是利用磁盘空间虚拟出一块逻辑内存,用作虚原创 2020-12-17 23:41:02 · 749 阅读 · 0 评论 -
GCC编译的4个阶段
GCC编译一共有4个阶段:预处理、编译、汇编、链接。gcc指令的一般格式gcc [选项] 要编译的文件 [选项] [输出文件]选项说明-E预处理源文件-S编译为汇编代码-c编译为目标文件-o outfile指定输出文件的文件名eg:下面是一段很简单的hello.c代码,以这段代码为例。#include <stdio.h>#define NAME "mao"void main(){ printf("hello:%s\n",NAME原创 2020-12-12 21:48:39 · 5154 阅读 · 0 评论 -
Linux常用命令
1、文件操作cd dirName 进入某个目录cd / 进入到根目录cd … 回退到上一级目录ls 可以查看当前文件夹下面的所有文件ls -a 列出目录所有文件,包含以.开始的隐藏文件ls -l 除了文件名之外,还将文件的权限、所有者、所属组、文件大小等信息详细列出来eg: 执行ls -l结果如下:以红色圈出来的文件信息为例:第一列:第一个字母代表了文件的类型,有如下文件类型:文件类型-普通文件,包括纯文本文件、二进制文件、各种压缩文件等d目录原创 2020-12-09 23:18:01 · 2605 阅读 · 0 评论