apt 和apt-get的区别

apt比apt-get更常用,两者在命令上没有差别。

socketpair-套接字实现进程间通信

  1. 子进程和父进程的文件描述符所指向的管道是同一个管道,因此可以利用这个管道进行通信

socketpair创建的套接字描述符和管道很类似,父子进程会共用一个通信套接字结构(管道),不过这个创建的套接字描述符是全双工的,,sv[0]和sv[1]都可以读写。不过一端写入后,就只能从另一端读出,而不能被本端消费掉。

  1. /*socketpair1.c*/
  2. #include <sys/types.h>
  3. #include <sys/socket.h>
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6. int main ()
  7. {
  8. int fd[2];
  9. int r = socketpair(AF_UNIX, SOCK_STREAM, 0, fd);
  10. if (r < 0){
  11. perror( "socketpair()" );
  12. exit(1);
  13. }
  14. if (fork()){ /* 父进程 */
  15. int val = 0;
  16. close(fd[1]);
  17. while (1){
  18. sleep(1);
  19. ++val;
  20. printf("发送数据: %d\n", val);
  21. write(fd[0], &val, sizeof(val));
  22. read(fd[0], &val, sizeof(val));
  23. printf("接收数据: %d\n", val);
  24. }
  25. }else{ /*子进程*/
  26. int val;
  27. close(fd[0]);
  28. while(1){
  29. read(fd[1], &val, sizeof(val));
  30. ++val;
  31. write(fd[1], &val, sizeof(val));
  32. }
  33. }
  34. }