liunx-shell、进程通信

shell
1.读取用户输入
2.分析命令,一命令名为文件名
3.fork一个子进程
4.wait()等待子进程,子进程调用execve()找到文件,调入内存执行程序,exit()退出

进程通信
1共享内存 sys/shm.h

shmget函数 创建,返回shm_id
key标识,size大小,shmflg权限

shmat函数 启动,连接到地址空间
shm_id创建的返回值,shm_addr地址为空表示系统默认,shmflg标志位一般为0
返回指向指针

shmdt函数 分离进程从内存中 返回0成功

shmctl函数 销毁共享内存


2.信号量 sys/sem.h

ftok函数 生成一个key_t值,IPC键
pathname,proj_id 一个序列号

semget函数 创建/访问一个信号量
key_t, 数组,权值
返回 一个标识符

semop函数
semctl初始化或移除

posted @ 2021-01-11 11:35  西柚青年  阅读(108)  评论(0)    收藏  举报