守护进程: daemon进程。通常运行与操作系统后台,脱离控制终端。一般不与用户直接交互。周期性的等待某个事件发生或周期性执行某一动作。 不受用户登录注销影响。通常采用以d结尾的命名方式。 守护进程创建步骤: 1. fork子进程,让父进程终止。 2. 子进程调用 setsid() 创建新会话 3. ...
分类:
编程语言 时间:
2020-05-20 14:00:04
阅读次数:
52
exec函数族 fork()函数创建子进程后,子进程往往要调用一种e x e c函数以执行另一个程序。当进程调用一种exec函数时,该进程完全由新程序代换,而新程序则从其 ma i n函数开始执行。 因为调用exec并不创建新进程,所以前后的进程ID并未改变。exec只是用另一个新程序替换了当前进程 ...
分类:
其他好文 时间:
2020-05-16 00:36:57
阅读次数:
58
一、静态文件:没有进程或程序正在访问的文件 删除原理:所有硬链接数为0. 二、动态文件:有进程或程序正在访问的文件 删除原理:1.所有硬链接数为0.(i_link=0) 2.所有进程调用都要停止取消。(i_count=0) 当我们执行rm命令时,删除的只是文件名,文件的inode和block还是存在 ...
分类:
系统相关 时间:
2020-05-11 01:00:06
阅读次数:
76
一、了解Unix网络编程5种I/O模型 1.1、阻塞式I/O模型 阻塞I/O(blocking I/O)模型,进程调用recvfrom,其系统调用直到数据报到达且被拷贝到应用进程的缓冲区中或者发生错误才返回。进程从调用recvfrom开始到它返回的整段时间内是被阻塞的。 1.2、非阻塞式I/O模型 ...
分类:
编程语言 时间:
2020-05-02 22:53:19
阅读次数:
81
栈的用途比较广 如:子进程调用,递归调用,表达式转换,二叉树遍历,深度优先搜索 等等 实现思路: 1)top=-1时栈为空,top=maxsize-1栈满 C#代码实现: 1 using System; 2 3 namespace 数据结构 4 { 5 public class ArrayStack ...
分类:
编程语言 时间:
2020-04-16 09:18:27
阅读次数:
73
目录 性能优化 分析系统瓶颈 分析内存瓶颈 分析IO瓶颈 分析进程调用 优化程序代码 gprof使用步骤 其它工具 ...
分类:
系统相关 时间:
2020-04-14 20:27:36
阅读次数:
78
额外知识扩展: 我自己的写的模式: (1)管程把共享变量上的操作封装起来,而临界区却分散在每个进程中。 //都是对临界资源操作的代码,但是...... (2)管程是为管理临界资源而建立的,进程主要是实现系统并发性而引入的。 //创建目的 (3)管程被进程调用。管程和调用它的进程不能并行工作,而进程是 ...
分类:
系统相关 时间:
2020-04-05 18:58:46
阅读次数:
148
1,文件句柄 在linux/unix操作系统中一切皆文件,我们的设备是文件,文件是文件,文件夹也是文件。当我们用户每发起一次请求,就会产生一个文件句柄。文件句柄可以简单的理解为文件句柄就是一个索引。文件句柄就会随着请求量的增多,进程调用频繁增加,那么产生的文件句柄也就会越多。 系统默认对文件句柄是有 ...
分类:
其他好文 时间:
2020-03-14 13:16:14
阅读次数:
53
父进程创建一个子进程,并等待子进程结束;子进程调用execve启动 使用shell的ps命令,查看系统当前的进程信息 #include <unistd.h> #include <stdio.h> #include <stdlib.h> main() { pid_t pid; char* str; c ...
分类:
编程语言 时间:
2020-03-10 22:07:22
阅读次数:
72
一 守护进程 1.1 基本概念 守护进程 正常情况下,主进程默认等待子进程调用结束之后结束 守护进程在主进程执行代码结束后,自动终止 守护进程语法: 进程对象.daemon = True ,设置该进程是守护进程 守护进程需要在start()方法之前设置 为主进程守护,主进程如果代码执行结束了,该守护 ...
分类:
编程语言 时间:
2020-02-23 22:21:23
阅读次数:
85