![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux系统编程
三桂sg
1558920055ded5427d27fe99678aeae86f299
https://blog.csdn.net/weixin_43692030
展开
-
Linux系统编程1:进程基础
概念进程:程序在计算机上的一次执行过程,执行中的程序。从程序到进程内核将程序读入内存,为程序镜像分配内存空间。内核为该进程分配进程标志符PID。内核为该进程保存PID及相应的进程状态信息。进程控制块(PCB):保存进程控制信息进程状态类似视频/音频播放器如何查看进程No.OS命令e.g.1Windowstasklisttasklist /FI “...原创 2019-07-29 23:37:36 · 246 阅读 · 0 评论 -
Linux线程池
#include <pthread.h>#include <stdbool.h>#include <stdlib.h>#include <stdio.h>#include <string.h> #define WORK_THREAD_COUNT 6 typedef struct Task{ void (*pfunc...原创 2019-09-07 08:09:37 · 120 阅读 · 0 评论 -
Linux 系统编程5:信号
查看linu下有哪些信号:kill -l 哪里会用到信号,比如你想结束掉一个进程 :ps -aux 查看进程kill 结束进程kill传递一个信号,信号会导致进程终止windows任务管理器也是一样的道理,发送一个信号,导致进程终止man 7 signal linux中查看信号的机制信号产生种类终端特殊按键 Ctrl+c SIGINT Ctrl+z SIGTSTP ...原创 2019-08-16 20:41:20 · 190 阅读 · 0 评论 -
Linux系统编程4:共享内存mmap
mmap可以把磁盘文件的一部分直接映射到内存,这样文件的位置就有对应的地址对文件的读写可以直接用指针来做而不需要read writeshared 映射private 映射修改内存中的数据,磁盘当中跟着修改shared否则private映射 ,内存当中修改不影响磁盘man mmap 查看这个函数的使用void *mmap(void *addr, size_t length, int ...原创 2019-08-15 23:52:16 · 129 阅读 · 0 评论 -
Linux系统编程3:fifo
用来解决没有血缘关系的进程之间的通信创建一个有名管道[kiosk@foundation74 Linux系统编程]$ mkfifo myfifo管道写端:#include<stdio.h>#include<unistd.h>#include<fcntl.h>#include<stdlib.h>#include<sys/types...原创 2019-08-15 18:20:16 · 127 阅读 · 0 评论 -
Linux系统编程2:匿名管道pipe
#include<stdio.h>#include<unistd.h>#include<string.h>#include<stdlib.h>int main(void){ int fd[2]; char str[1024]="hello world"; char buf[1024]; //fd[0]读端,fd...原创 2019-08-15 17:08:11 · 158 阅读 · 0 评论 -
Linux系统变成6:线程
//线程//1.轻量级进程,也有PCB 创建线程使用的底层函数和进程一样都是clone//clone克隆父进程的0-3G的用户空间,父进程的PCB//2.从内核看进程进程和线程一样的,都有各自不同的PCB,但是PCB中指向内存//资源的三级页表时相同的//创建进程,内存给进程分配4G的地址空间//进程如何索引到4G地址空间? 虚拟地址到物理地址的映射关系//Linux管理虚拟内存 采...原创 2019-08-23 22:04:11 · 122 阅读 · 0 评论 -
Linux系统编程5.1: 信号捕捉
转载:信号的三种状态及信号集函数地址: https://blog.csdn.net/xiaodu655/article/details/80246440int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);参数1:对哪个信号捕捉参数2:信号的...原创 2019-08-19 12:30:19 · 124 阅读 · 0 评论 -
Linux实现myshell
#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<string.h>#include<sys/types.h>#include<sys/wait.h>#include<sys/stat.h>#include<fcntl.h...转载 2019-09-07 10:23:39 · 475 阅读 · 1 评论