linux

linux 环境编程学习笔记 第21天 基于普通文件IPC,管道文件,匿名管道

一、基于普通文件IPC IPC(Inter-Process Communication,进程间通信) 例子: main1.c 向tmp写入数据 #include #include #include <sys/mman.h> int main(int argc, const char *argv[]) { int fd=open("tmp",O_RDWR|O_CREAT|O_TRU ...

linux

linux 环境编程学习笔记 第20天 sigqueue/sigaction

一、sigqueue/sigaction 1. 信号中断函数是否被其他信号中断? 信号函数调用中只屏蔽本身信号,不屏蔽其他信号 例子: #include #include void handle(int s) { printf("start!\n"); sleep(10); printf("end\n"); } int main(int argc, const char *argv[]) { ...

linux

linux 环境编程学习笔记 第18、19天 信号(2)

接着上上次 一、信号 3.信号的应用(实现多任务) 使用定时器实现多任务 例子:同时显示随机数与时间 #include #include #include #include #include <sys/time.h> #include WINDOW *wtime,*wnumb; void showtime(int s) { time_t t; struct tm *tt; tim ...

linux

linux 环境编程学习笔记 第16.17天 进程的基本控制,信号

一、进程的基本控制(进程的同步) 1.进程的常见控制函数 pause sleep/usleep atexit on_exit int atexit(void (*function)(void)); //注册终止函数(即main执行结束后调用的函数) int on_exit(void (*function)(int , void *), void *arg); //跟atexit差不多,只不过 ...

linux

linux 环境编程学习笔记 第15天 进程

接着昨天 一、进程 2.创建进程 (1) int system(const char *command); (2) FILE *popen(const char *command, const char *type); (3) exec系列函数 int execl( const char *path, const char *arg, ...); //第一个参数:替换的进程,第二个参数... ...

linux

linux 环境编程学习笔记 第13,14天 IO与文件目录管理,进程

一、IO与文件目录管理 1.pread与lseek+read的区别 pread读取后不会改变读写位置 2.mmap映射 /proc/${pid}/mem 无法映射,并且 mmap函数最后一个参数 文件中的映射开始位置 必须是pagesize的证书倍,否者出错 3.IO的实际用户(real user)与有效用户(effective user) 默认情况:有效用户与实际用户一致,但设置了设置位, ...

linux

linux 环境编程学习笔记 第12天 curses(2)

curses 接着前天 6.字符属性与颜色 判定终端是否支持颜色 bool has_colors();//都支持颜色,建议不判定 初始化颜色: int start_color(); 定义颜色对 int init_pair(short pair,short fore,short back); init_pair 一定要放在 start_color()后面 使用颜色对 COLOR_PAIR(sh ...

linux

linux 环境编程学习笔记 第11天 curses

一、curses 1.简介: CUI字符界面,GUI:图形界面 curses就是cui的库 老版本libcurses.so,新版本libncurses.so printf / scanf 等标准IO 大部分是 重定向到终端 /dev/tty /dev/pts/1,curses就是终端输出。 编译时要 指定curses的库 -lcurses 或者 -lncurses 2.编程模型 初始化终端i ...