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初始化或移除

浙公网安备 33010602011771号