![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
princeteng
这个作者很懒,什么都没留下…
展开
-
leetcode多线程合集
1114. 按序打印与1116题类似,使用condition_variable.class Foo {public: Foo() { } mutex mtx; atomic<int> g{1}; condition_variable cv; void first(function<void()> printFirst) { unique_lock<mutex> lck(mtx);原创 2020-10-04 19:50:00 · 372 阅读 · 0 评论 -
wget批量下载
学习linux内核完全注释,需要下载源码,位于网站linux-0.12源码。使用wget命令批量下载所有的源代码:wget -x -r -l0 --no-parent http://www.oldlinux.org/Book-Lite/linux-0.12/-x 表示强制建立目录;-r 表示递归下载;最大递归深度 (inf 或 0 代表无限制,即全部下载)。-l0 表示递归的等级,0表示递归到所有子目录;--no-parent 表示不追溯至父目录,即不下载父目录中的文件;另外:-nd,原创 2020-09-25 11:02:33 · 323 阅读 · 0 评论 -
APUE:第十一章——线程
11.2 概念11.3 线程标识进程ID使用pid_t标识,线程ID使用pthread_t表示。进程ID在整个系统中是唯一的,线程ID只在其所属的进程中有效。线程ID用pthread_t数据类型表示,实现的时候可以使用结构体实现,也可以使用无符号长整型表示。通过函数pthread_equal函数可以比较两个线程ID是否相同。#include <pthread.h>in...原创 2020-01-13 11:22:42 · 173 阅读 · 0 评论 -
APUE:第七章:进程环境
7.6 C程序存储空间布局使用size命令可以查看某一个程序各个段的大小。通过下面的环境变量一节也可以看出环境变量处于高地址。7.7 共享库减少了可执行文件的长度,但是增加了运行时间的开销。7.8 存储器分配#include <stdlib.h>void* malloc(size_t size);void* calloc(size_t nobj, size_t...原创 2020-01-09 15:29:41 · 97 阅读 · 0 评论 -
wait waitpid
调用wait和waitpid的进程会发生什么情况如果其所有子进程都在运行,则阻塞;如果一个子进程已经终止,正在等待父进程获取其终止状态,则父进程获取子进程的终止状态并立即返回;如果该进程没有子进程,则进程可能会阻塞。函数原型#include <sys/wait.h>pid_t wait(int *statloc);pid_t waitpid(pid_t pid, in...原创 2019-12-12 22:25:06 · 150 阅读 · 0 评论 -
exit() _exit()
_exit()不进行清理工作,直接结束进程进入到内核中exit()清理I/O缓冲区后再退出进程return函数返回,在main函数中return相当于调用exit传递给exit的参数为退出状态。Q:子进程在父进程fork之后产生,父进程可以通过wait函数获得子进程的终止状态,但是如果父进程在子进程之前终止了怎么办?A:对于父进程终止的子进程,他们的父进程将变为init进程,我们称...原创 2019-12-12 20:59:34 · 107 阅读 · 0 评论 -
fork() vfork()
1.fork()#include <unistd.h>pid_t fork();返回值:子进程返回0,父进程返回子进程id,fork失败返回-1.没有一个函数使得一个进程可以获得其所有子进程的ID。子进程只有一个父进程,可以通过函数getppid()获得父进程ID。写时复制是说当父进程或者子进程试图对共享的区域进行修改时才将修改区域复制一份。#include<s...原创 2019-12-12 17:25:15 · 112 阅读 · 1 评论