在linux中,用fork来创建一个子进程,该函数有如下特点: 1)执行一次,返回2次,它在父进程中的返回值是子进程的 PID,在子进程中的返回值是 0。子进程想要获得父进程的 PID 需要调用 getppid 函数。 2)生成的子进程会复制fork函数之后的代码 3)父子进程的全局变量和局部变量, ...
分类:
系统相关 时间:
2018-01-12 22:37:56
阅读次数:
291
truncate的使用非常简单: int truncate(const char *path, off_t length); 参数1:文件名 参数2: 文件需要被调整的大小 length 大于 文件大小, 文件后面会填充空白字节或者空洞 length 小于 文件大小, 文件多出的部分,会被舍弃 源代 ...
分类:
系统相关 时间:
2018-01-11 17:38:07
阅读次数:
379
这个技巧来自于我的实际开发碰到的: inet_addr这个函数用于把ip地址转成网络字节序,他的原型:in_addr_t inet_addr(const char *cp); 返回值为一个in_addr_t的类型,很显然这不是一个c语言的标准数据类型,想搞清楚他到底是什么类型,肯定要找到头文件,在l ...
分类:
系统相关 时间:
2018-01-07 23:23:34
阅读次数:
247
操作系统的核心 内核 内核的职责 1. :Linux属于抢占式多任务操作系统,多个进程可同时驻留于内存,且每个进程都能获得对CPU的使用权。哪些进程获得对CPU的使用,以及每个进程能使用多长时间 ,都由内核进程调度程序决定。 2. :Linux采用了虚拟内在管理机制。 3. 提供了 4. 创建和终止 ...
分类:
系统相关 时间:
2018-01-01 19:39:24
阅读次数:
260
使用Linux的文件API,经常看见一个东西,叫做文件描述符. 什么是文件描述符? (1)文件描述符其实实质是一个数字,这个数字在一个进程中表示一个特定的含义,当我们open打开一个文件时,操作系统在内存中构建了一些数据结构来表示这个动态文件,然后返回给应用程序一个数字作为文件描述符,这个数字就和我 ...
分类:
系统相关 时间:
2017-12-25 13:25:21
阅读次数:
259
一 IPC 对象 ---- 消息队列 IPC 对象命令 (1)查看系统中IPC对象 ipcs -a 显示所有的IPC对象 ipcs -s/-q/-m (2)删除系统中的IPC对象 ipcrm -q/-s/-m ID 1.获得key值
分类:
系统相关 时间:
2017-12-24 21:23:49
阅读次数:
253
一 exec函数 e:env int execle(const char *path, const char *arg,..., char * const envp[]); 环境变量指针数组: char *envp[] = {"环境变量名=内容",NULL}; 二 多线程 1.线程是进程中最小执行单元,多线程共享同一个进程的地址空间 2.Linux 内核调度的对象是
分类:
系统相关 时间:
2017-12-24 18:45:54
阅读次数:
183
一 线程间同步 同步:相互之间配合完成一件事情 互斥:保证访问共享资源的完整性(有你没我) POSIX 线程中同步:使用信号量实现 信号量 : 表示一类资源,它的值表示资源的个数 对资源访问: p操作(申请资源) [将资源的值 - 1] .... V操作(释放资源) [将资源的值 + 1] 1.定义信号量 sem_t sem ; 2.初始化信号量 int sem_ini
分类:
系统相关 时间:
2017-12-24 18:40:47
阅读次数:
185
一 进程概念 1.进程产生 操作运行了一个程序,至少会产生一个进程 2.Linux 创建进程 struct task_struct { 进程号 (PID) 父进程号 (PPID) 运行地址空间 &nb
分类:
系统相关 时间:
2017-12-24 17:27:48
阅读次数:
207
基于Linux的C++(自主模式)课程简介Linux操作系统开源的特性使得其获得越来越重要的地位,而Linux系统编程也向C++程序设计者提出了更高的要求。本课程由C/C++语言的共性与特性出发,在深入学习程序设计语言的基础上,进一步强调程序设计语言的适用性,并与Linux系统编程紧密结..
分类:
编程语言 时间:
2017-11-20 15:42:14
阅读次数:
526