标签:style blog color 使用 os io strong 文件
#include <sys/types.h> #include <sys/socket.h> int socketpair(int domain, int type, int protocol, int sockfd[2]);
int fd[2];
pid_t pid;
socketpair(AF_UNIX, SOCKET_STREAM, 0, fd); // 创建管道
if ( (pid = fork()) == 0) { // 子进程
close(fd[0]); // 关闭管道的父进程端
dup2(fd[1], STDOUT_FILENO); // 复制管道的子进程端到标准输出
dup2(fd[1], STDIN_FILENO); // 复制管道的子进程端到标准输入
close(fd[1]); // 关闭已复制的读管道
/* 使用exec执行命令 */
} else { // 父进程
close(fd[1]); // 关闭管道的子进程端
/* 现在可在fd[0]中读写数据 */
shutdown(fd[0], SHUT_WR); // 通知对端数据发送完毕
/* 读取剩余数据 */
close(fd[0]); // 关闭管道
/* 使用wait系列函数等待子进程退出并取得退出代码 */
}
struct msghdr {
void *msg_name;
int msg_namelen;
struct iovec *msg_iov;
__kernel_size_t msg_iovlen;
void *msg_control;
__kernel_size_t msg_controllen;
unsigned msg_flags;
};struct cmsghdr {
socklen_t cmsg_len; /* data byte count, including header */
int cmsg_level; /* originating protocol */
int cmsg_type; /* protocol-specific type */
/* followed by unsigned char cmsg_data[]; */
};Linux高级进程间通信:UNIX域套接字,布布扣,bubuko.com
标签:style blog color 使用 os io strong 文件
原文地址:http://blog.csdn.net/wan_hust/article/details/38560333