
Linux
文章平均质量分 82
敲代码的小王
这个作者很懒,什么都没留下…
展开
-
openssl常用命令
CAcreateserial:这个选项用于指示 OpenSSL 在指定的序列号文件不存在时创建一个新的序列号文件,并将其命名为指定的 CA 证书文件的名称加上 .srl 后缀。例如,如果 CA 证书文件是 ca.crt,那么序列号文件将被命名为 ca.srl。OpenSSL 是一个功能强大的工具,支持广泛的加密操作。原创 2024-06-22 17:29:34 · 481 阅读 · 0 评论 -
函数栈帧的创建与销毁
栈帧的创建与销毁什么是栈帧C语言中,每个栈帧对应着一个未运行完的函数。栈帧中保存了该函数的返回地址和局部变量。首先应该明白,栈是从高地址向低地址延伸的。每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息。寄存器ebp指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部(低地址)。注意:EBP指向当前位于系统栈最上边一个栈帧的底部,而不是系统栈的底部。严格说来,“栈帧底部”和“栈底”是不同的概念;ESP所指的栈帧顶部和系统栈的顶部是同一个位置。常用的寄存器有原创 2021-08-14 14:35:51 · 591 阅读 · 6 评论 -
Linux多线程同步和互斥
Linux多线程 同步和互斥、生产者消费者模型、pthread库原创 2022-05-13 08:51:41 · 302 阅读 · 0 评论 -
进程间通信
进程间通信要想进行进程间通信,必须让相互通信的进程看到同一份资源。匿名管道匿名管道只能用于具有亲属关系间进程的通信,常用于父子。匿名管道就是通过子进程是以父进程为模板创建的,因此子进程会也有和父进程相同的fd_arr(打开的文件列表),此时它们就看到了同一份资源。管道是单向进行通信的。管道创建#include<unistd.h>int pipe(int pipefd[2]);//pipefd:文件描述符数组,其中pipefd[0]表示读端,pipefd[1]表示写端。原创 2022-04-23 10:28:38 · 297 阅读 · 0 评论 -
Linux程序替换(exec)
程序的替换在有些场景中我们需要创建一个进程,让该进程来帮我们完成某项工作,比如Linux中的shell,shell就是一个进程,他通过不断创建子进程,通过让子进程来帮我们执行程序。程序替换的原理程序替换只是将替换的进程加载到内存中,然后修改当前进程的映射信息,完成替换,程序替换并不会创建新的进程。替换函数在linux中程序替换是通过exec函数族完成的。int execl(const char *path, const char *arg, …);int execlp(c原创 2022-03-29 10:17:58 · 1038 阅读 · 0 评论