![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux系统编程
文章平均质量分 87
Linux系统编程
国家级退堂鼓
这个作者很懒,什么都没留下…
展开
-
Linux系统编程三(设置线程属性、互斥锁、读写锁、条件变量、信号量、生产者和消费者模型)
当一个线程尝试获取自旋锁时,如果锁处于未锁定状态,那么线程将将其状态设置为锁定,并继续执行临界区代码。与互斥锁不同,自旋锁并不会将线程阻塞在等待资源释放的地方,而是采用循环的方式一直尝试获取锁,直到成功为止。一个线程发出某一功能调用时,在没有得到结果之前,该调用不返回,且同时其他线程为 保证数据一致性,不能调用该功能。restrict关键字,用来限定指针变量,被该关键字限定的指针变量所指向的内存操作,必须由本指针完成。创建一个pthread_mutex_t类型的名为locks的变量,本质是结构体类型。原创 2023-07-19 16:04:45 · 101 阅读 · 0 评论 -
Linux系统编程二(FIFO管道、进程间通信、mmap建立映射区、信号、信号集操作函数、信号捕捉、回收子进程、守护进程)
利用Ctrl+c产生信号,一开始设置信号集操作函数。当未触发信号时,未决信号集全为0,触发信号按下Ctrl+c以后,未决信号集的2号虽然置为1,但在信号屏蔽集中设置阻塞屏蔽状态,导致其无法执行,所呈现的结果是信号无法被执行,即无法利用Ctrl+c中断程序。open(O_RDWR) mmap(MAP_SHARE)运行ps ajx 查看会话,结果是进程ID=进程组ID=会话ID。运行命令ps aux 查看进程,其进程ID号为32950。退出登陆后,重新启动后,守护进程仍然存在。一个进程读,另一个进程写。原创 2023-07-13 10:20:10 · 112 阅读 · 0 评论 -
Linux系统编程一(stat函数、DIR目录操作函数、递归遍历目录、循环创建多个子进程、exec函数、wait函数、waitpid回收多个子进程、父子(兄弟)进程间通信)
这个命令可以用来统计当前目录下的文件和子目录的数量,因为 ls 命令的输出是每个文件和子目录占据一行,而 wc -l 命令统计行数就相当于统计文件和子目录的数量。使用管道实现父子进程间通信,完成:ls | wc -l。读目录文件的目录项:struct dirent * readdir(DIR * dp);兄:ls 弟:wc -l 父:等待回收子进程。打开目录文件:DIR * opendir(char *name);关闭目录文件:int closedir(DIR *dp);实现ls功能,列出文件项。原创 2023-07-13 10:20:58 · 74 阅读 · 0 评论