摘要: 进程通信(二) 信号通讯1.常见的信号类型: SIGHUP 从终端发出的结束信号 SIGINT 来自键盘的终断信号(ctrl-c) SIGKILL 该信号结束接收信号的进程 SIGTERM kill命令发出的信号 SIGSTOP 来自键盘(ctrl-z)或调试程序的停止执行信号2.发送信号的主要函数有kill和raise 区别: kill既可向自身发送信号,也可以像其他进程发送信号 raise只向进程自身发送信号 #include <sys/types.h> #include <sysnal.h> int kill(pid_t pid,int signo)... 阅读全文
posted @ 2012-06-26 10:53 xss 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 进程间通信(一)1.为什么需要进程间通信? ① 数据转移 一个进程需要它的数据发送给另一个进程 ② 资源共享 多进程之间共享同样的资源 ③ 通知事件 一个进程需要想另一个或一组进程发送消息,通知他们发生了什么事件 ④ 进程控制 一个进程控制另一个进程的执行 一.管道通信管道定义: 管道是单向的,先进先出的,它把一个进程的输出和另一个进程的输出连接在一起,一个进程(写进程)在管道尾部写入数据,另一个进程(读进程)从管道头部读出数据。管道分类: 无名管道: 用与父进程和子进程之间的通信 有名管道: 用于运行于同一系统中任意两进程间的通信无名管道: int pipe(int filedis[2].. 阅读全文
posted @ 2012-06-26 10:52 xss 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 进程编程一.获取ID: #include <sys/types.h> #include <unistd.h> pid_t getpid(void); 获取本进程ID pid_t getppid(void); 获取父进程ID例:#include<stdio.h>#include<unistd.h>#include<stdlib.h>intmain(void){printf("PID=%d\n",getpid());printf("PPID=%d\n",getppid());return0;}二.进 阅读全文
posted @ 2012-06-26 10:51 xss 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 时间编程 格林威治时间(GMT )是世界标准时间(UTC)。 需要头文件 sys/time.h 相关函数: time_t time(time_t *tloc); 作用:获取日历时间,即从1970年1月1日0点到现在所经历的秒数。 struct tm * gmtime (const time_t *timep); 作用:将日历时间转化为格林威治时间,并保存至 TM 结构中。 struct tm * localtime(const time_t * timep); 作用:将日历时间转化为本地时间并保存至 TM 结构中。 TM 结构:structtm{inttm_... 阅读全文
posted @ 2012-06-26 10:51 xss 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 文件编程 一.系统调用~~创建 int creat (const char *filename, mode_t mode); filename:即要创建的文件名(包含路径,缺省为当前路径) mode:创建模式 常见的模式: S_IRUSR 可读 S_IWUSR 可写 S_IXUSR 可执行 S_IRWXU 可读,写,执行 还可以用数字表示: 4 代表可读 2 代表可写 1 代表可执行 7 代表可读,写,执行例: #incldue <stdio.h>#include<stdlib.h>#include<sys/types.h>#include<sys/s 阅读全文
posted @ 2012-06-26 10:50 xss 阅读(509) 评论(0) 推荐(0) 编辑