- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 Linux 进程间通讯之共享内存方式
共享内存方式:从物理内存里面拿出来一部分作为多个进程共享。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入数据,共享这个内存的所有进程都可以立即看到其中内容。 共享内存实现步骤:一、创建共享内存,使用shmget函数。二、映射共享内存,将这段创建的共享内存映射到具体的进程空间去,使用shmat函数。 创建共享内存shmget:intshmget(
2012-12-23 15:39:25 1814
原创 Linux 进程间通讯之信号方式
创建几种信号:SIGHUP: 从终端上发出的结束信号SIGINT:来自键盘的中断信号(Ctrl-C)SIGQUIT:来自键盘的退出信号(Ctrl-\)SIGKILL:该信号结束接收信号的进程SIGTERM: kill命令发出的信号SIGCHLD:标识子进程停止或结束的信号SIGSTOP:来自键盘(Ctrl-Z)或调试程序的停止执行信号 信号处理:一、忽略
2012-12-22 23:15:57 1902
原创 Linux 进程间通讯之有名管道方式
有名管道mkfifo:intmkfifo(const char *pathname, mode_t mode)pathname: FIFO文件名mode: 属性一旦创建了了FIFO,就可open去打开它,可以使用open,read,close等去操作FIFO当打开FIFO时,非阻塞标志(O_NONBLOCK)将会对读写产生如下影响:1、没有使用O_NONBLOCK:访问
2012-12-22 21:54:46 8096
原创 Linux 进程间通讯之创建无名管道和读写无名管道
Linux进程间通讯的方式:1. 管道(pipe)和有名管道(FIFO).2. 信号(signal)3. 消息队列4. 共享内存5. 信号量6. 套接字(socket) 管道通讯:无名管道:由pipe()函数创建,int pipe(int filedis[2]), 当管道建立时有两个文件描述符,file
2012-12-21 21:15:07 5386
原创 linux 进程控制
获取进程ID:pid_tgetpid(void) // 获取当前进程的进程IDpid_tgetppid(void) //获取父进程IDExample:#include #include int main(){ intpid, ppid;
2012-12-20 23:28:05 1288
原创 linux 时间编程
时间编程: 日历时间获取:time_t time(time_t *tloc)功能:获取日历时间,即从1970年1月1日0点到所经历的秒数。/*typedef long time_t */Example:#include #include int main(){ time_t lt; lt = time(NULL);
2012-12-19 19:09:38 1581
原创 Linux 库函数实现文件操作
1. Linux系统调用,文件的描述符使用的是一个整数,库函数访问文件使用FILE类型的指针去指向描述文件;2. 库函数不随系统平台而变,即不管win还是Linux都适用; 库函数 - 读文件size_t fread(void *ptr, size_t size, size_t n, FILE *stream)功能:从stream指向的文件中读取n个字段,每个字
2012-12-18 22:31:47 1465
原创 Linux系统调用 - 文件操作
系统调用方式创建文件 - 测试程序一: test.c#include#include#include#include#include void create_file(char *filename){ if(creat(filename, 0755)创建一个文件赋予755权限 printf("create
2012-12-16 21:07:39 942
原创 Makefile编写
第一节:Makefilehello:hello.c gcc -o hello hello.cclean: rm hellohello 为目标,hello.c为依赖,gcc和rm是命令。 编译的时候默认会到当前目录下面找makefile和Makefile文件,如果没有会报错,可以手动指定makefile文件,使用make -
2012-12-16 19:04:26 941
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人