apt 和apt-get的区别
apt比apt-get更常用,两者在命令上没有差别。
socketpair-套接字实现进程间通信
- 子进程和父进程的文件描述符所指向的管道是同一个管道,因此可以利用这个管道进行通信
socketpair创建的套接字描述符和管道很类似,父子进程会共用一个通信套接字结构(管道),不过这个创建的套接字描述符是全双工的,,sv[0]和sv[1]都可以读写。不过一端写入后,就只能从另一端读出,而不能被本端消费掉。
/*socketpair1.c*/
#include <sys/types.h>
#include <sys/socket.h>
#include <stdlib.h>
#include <stdio.h>
int main ()
{
int fd[2];
int r = socketpair(AF_UNIX, SOCK_STREAM, 0, fd);
if (r < 0){
perror( "socketpair()" );
exit(1);
}
if (fork()){ /* 父进程 */
int val = 0;
close(fd[1]);
while (1){
sleep(1);
++val;
printf("发送数据: %d\n", val);
write(fd[0], &val, sizeof(val));
read(fd[0], &val, sizeof(val));
printf("接收数据: %d\n", val);
}
}else{ /*子进程*/
int val;
close(fd[0]);
while(1){
read(fd[1], &val, sizeof(val));
++val;
write(fd[1], &val, sizeof(val));
}
}
}