
操作系统
Luncles
别再熬夜!
展开
-
Linux发送数据包的流程图
原创 2023-09-10 00:20:34 · 190 阅读 · 0 评论 -
当主线程退出时,子线程会怎么样?
例如一个程序a.out创建了一个子线程,假设主线程的线程号为9601,子线程的线程号为9602(它们的tgid都是9601),因为默认没有设置信号处理程序,所以如果运行命令kill 9602的话,是可以把9601和9602这个两个线程一起杀死的。实际上,posix线程和一般的进程不同,在概念上没有主线程和子线程之分(虽然在实际实现上还是有一些区分),如果仔细观察apue或者unp等书会发现基本看不到「主线程」或者「子线程」等词语,在csapp中甚至都是用「对等线程」一词来描述线程间的关系。转载 2023-08-22 21:19:59 · 1170 阅读 · 0 评论 -
B/B+树的使用
原创 2023-07-12 20:45:48 · 220 阅读 · 0 评论 -
红黑树的使用场景
原创 2023-07-12 03:02:52 · 588 阅读 · 0 评论 -
Ubuntu相关(1)
如何让ubuntu禁用休眠?修改 Login Manager的配置文件。打开终端:sudo vim /etc/systemd/logind.conf然后将其中的:#HandleLidSwitch=suspend1改成:HandleLidSwitch=ignore1然后重启服务:sudo restart systemd-logind或者service sy...原创 2020-01-08 09:53:39 · 188 阅读 · 0 评论 -
Linux下僵尸进程的产生,危害及处理
Linux 允许进程查询内核以获得其父进程的 PID,或者其任何子进程的执行状态。例如,进程可以创建一个子进程来执行特定的任务,然后调用诸如 wait() 这样的一些库函数检查子进程是否终止。如果子进程已经终止,那么,它的终止代号将告诉父进程这个任务是否已成功地完成。为了遵循这些设计原则,不允许 Linux 内核在进程一终止后就丢弃包含在进程描述符字段中的数据。只有父进程发出了与被终止的进程相...转载 2019-05-31 02:12:10 · 2660 阅读 · 0 评论 -
进程间的五种通信方式介绍
进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。以Linux中的C语言编程为例。一、管道管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。...转载 2019-05-31 02:25:34 · 448 阅读 · 0 评论 -
strcpy函数的源码实现
已知strcpy函数的原型是:char *strcpy(char *dst, const char *src);实现strcpy函数 解释为什么要返回char * 假如考虑dst和src内存重叠的情况,strcpy该怎么实现1.strcpy的实现代码char * strcpy(char *dst,const char *src) //[1]{ assert(dst...转载 2019-05-31 02:39:08 · 3514 阅读 · 1 评论 -
open和fopen的区别
1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。由此可以看出,内存 “缓冲区”的大小,影响着实际操作外存的次数,内存“缓冲区”越大,则操作外存的次数就少,执行速度就快...转载 2019-05-31 02:50:29 · 257 阅读 · 0 评论