自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 网络基础知识

查看ip的命令,ip地址分类,CIDR及相关概念(网络地址、广播地址、子网掩码),公有ip/私有ip,网络设备的状态标识、qdisc pfifo_fast...

2022-05-29 11:58:23 1740

原创 线程间同步

线程锁、条件变量、信号量、死锁

2022-05-23 22:20:42 220

原创 线程控制

创建线程、线程退出pthread_create、pthread_join、pthread_cancel、pthread_detach

2022-05-17 16:22:20 185

原创 线程的概念

线程概念、线程间共享与非共享内容

2022-05-11 22:10:02 151

原创 关于SIGCHLD信号

用wait和waitpid函数清理僵尸进程,父进程可以阻塞等待子进程结束,也可以非阻塞地查询是否有子进程结束等待清理(也就是轮询的方式)。采用第一种方式,父进程阻塞了就不能处理自己的工作了;采用第二种方式,父进程在处理自己的工作的同时还要记得时不时地轮询一下,程序实现复杂。其实,子进程在终止时会给父进程发SIGCHLD信号,该信号的默认处理动作是忽略,父进程可以自定义SIGCHLD信号的处理函数,这样父进程只需专心处理自己的工作,不必关心子进程了,子进程终止时会通知父进程,父进程在信号处理函数中调用wa

2022-05-10 22:28:40 260

原创 竞态条件与sigsuspend函数

sigsuspend函数用法,原子操作

2022-05-02 17:51:06 89

原创 捕捉信号——自己定义信号处理函数

sigaction函数定义自己的信号处理函数;利用alarm函数和pause函数,配合sigaction函数,实现自己的mysleep函数。

2022-05-02 14:55:30 449

原创 调用系统函数向进程发信号

kill、raise、abort函数

2022-04-07 12:58:14 373

原创 消息队列

系统创建或获取消息队列。ftok、msgsnd、msgrcv函数的用法。ipcs -q命令、ipcrm -q msgqid命令的使用。

2022-04-05 21:14:46 83

原创 命名管道FIFO

FIFO IPC机制是利用文件系统中的特殊文件来标识的。可以用mkfifo命令创建一个FIFO文件。$ mkfifo tube$ ls -l tubeps:如果要使用函数创建,man 3 mkfifo获取更多信息。

2022-04-02 21:58:09 435

原创 管道(popen和pclose)

这两个函数实现的操作是:创建一个管道,fork一个子进程,关闭管道的不使用端,exec一个cmd命令,等待命令终止。

2022-04-01 21:09:33 591

原创 管道pipe

管道是一种最基本的IPC机制,由pipe函数创建。使用管道需要注意的4种特殊情况。

2022-04-01 15:13:00 925

原创 wait和waitpid函数

一个进程在终止时会关闭所有文件描述符,释放在用户空间分配的内存,但它的PCB还保留着,内核在其中保存了一些信息:如果是正常终止则保存着退出状态,如果是异常终止则保存着导致该进程终止的信号是哪个。父进程可以调用wait或waitpid获取这些信息,然后彻底清除掉这个进程。

2022-03-30 21:52:43 214

原创 实现流的重定向

dup2实现标准输入输出的重定向,exec调度起upper程序

2022-03-30 10:13:27 154

原创 exec函数族

exec函数族作用概括为4个字:李代桃僵。试想有一天,你带着老婆,出了城,吃着火锅,唱着歌,突然就被麻匪劫了。

2022-03-30 09:42:56 198

原创 进程体系相关内容

进程控制块、fork函数、父子进程执行顺序、getpid/getppid函数等

2022-03-27 10:21:55 761

原创 stat函数

读取文件的inode,然后把inode中的各种文件属性填入一个strcut stat结构体传出给调用者。stat(1)命令是基于stat函数实现的。stat需要根据传入文件的路径找到inode。#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>int stat(const char *path, struct stat *buf);int fstat(int fd, struct

2022-03-20 15:12:27 267

原创 opendir/readdir/closedir函数

实现一个简易的ls -R命令,遍历目录下所有内容。opendir/readdir/closedir和stat函数。

2022-03-20 15:06:17 1122 1

原创 ext2文件系统

ext2是Linux早期比较流行的文件系统,很多文件系统(NTFS、FAT32等)的设计都源自于它。只要掌握了ext2文件系统,其他文件系统大同小异。文件系统反复横跨找文件的过程。软硬连接更深层次的理解。

2022-03-13 10:20:58 2314

原创 mmap函数

mmap可以把磁盘文件的一部分直接映射到内存,这样文件中的位置直接就有对应的内存地址,对文件的读写可以直接用指针来做而不需要read/write函数。

2022-03-12 13:37:13 163

原创 ioctl函数

ioctl函数获取终端设备的大小。

2022-03-11 22:26:13 391

原创 fcntl函数

用fcntl函数改变一个已打开的文件的属性而不必重新open文件,可以重新设置读、写、追加、非阻塞等标志。fcntl函数获取到的flags与各个标志属性宏进行&操作,可取出各个标志位。

2022-03-10 22:15:06 1020

原创 fseek,ftell,rewind函数

利用fseek、rewind函数进行文件位置操作,配合使用ftell函数获取文件大小

2022-03-08 10:30:02 354

转载 STDIN_FILENO与stdin的区别

STDIN_FILENO与stdin的区别

2022-03-08 09:41:42 737

原创 实现一个copy功能

用fopen、fgetc、fputc等函数,实现Linux系统下的copy功能

2022-03-07 20:47:46 166

原创 实现一个cat功能

用fopen、fgetc等函数,实现Linux系统下的cat功能

2022-03-06 22:38:46 205

原创 阻塞与非阻塞

理解程序运行的3种状态,实现非阻塞I/O的轮询机制

2022-03-05 22:17:43 293

原创 close函数

关于最小文件描述符的理解

2022-03-05 20:15:45 4335

原创 read函数、write函数

read函数从打开的设备或文件中读取数据。write函数向打开的设备或文件中写数据。

2022-03-05 18:23:28 4248

原创 文件描述符fd,open函数

1.参数fd(open函数的返回值),是要关闭的文件描述符。当一个进程终止时,内核对该进程所有尚未关闭的文件描述符调用close关闭,所以即使用户程序不调用close,在终止时内核也会自动关闭它打开的所有文件。但是,作为一个合格的程序员,还是要手动关闭,因为在程序运行时间特别长的情况下,会浪费这个fd资源。2.由open返回的文件描述符一定是该进程尚未使用的最小描述符。

2022-03-05 12:23:57 1784

原创 Linux缓冲区

Linux缓冲区

2022-03-04 21:07:41 241

原创 Linux下包含一堆头文件的方法

头文件包含方法,避免每个源文件都要手动include很多头文件

2022-02-28 08:54:17 758

原创 文件基本操作

文件操作

2022-02-23 21:46:33 32

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除