当前位置:  技术问答>linux和unix

vfork中多进程间共享描述符的问题

    来源: 互联网  发布时间:2015-08-19

    本文导语:  这是主进程: int main() {     int server_sockfd, client_sockfd;     int server_len, client_len;     struct sockaddr_in server_address;     struct sockaddr_in client_address;     sigset_t *sig_set, *oset;     int lo = 1;     if( (serve...

这是主进程:

int main()
{
    int server_sockfd, client_sockfd;
    int server_len, client_len;
    struct sockaddr_in server_address;
    struct sockaddr_in client_address;
    sigset_t *sig_set, *oset;
    int lo = 1;

    if( (server_sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
     printf("socket() error!n");
else printf("socket Number:%in", server_sockfd);

    if( setsockopt(server_sockfd, SOL_SOCKET, SO_REUSEADDR, (char *) &lo, sizeof(lo)) != 0)
     fprintf(stdout, "setsockopt errorn");
    close_on_exec(server_sockfd);
    
    server_address.sin_family = AF_INET;
    server_address.sin_addr.s_addr = htonl(INADDR_ANY);
    server_address.sin_port = htons(5000);
    server_len = sizeof(server_address);
    if( bind(server_sockfd, (struct sockaddr *)&server_address, server_len) != 0)
     fprintf(stdout, "bind error!n");

/*  Create a connection queue  */

    if( listen(server_sockfd, 5) != 0)
     fprintf(stdout, "listen() error!n");
    
 /*  Accept connection.  */

    while(1) {
    pid_t pid;
        fprintf(stdout, "server waiting...n");

        client_len = sizeof(client_address);
        client_sockfd = accept(server_sockfd, 
            (struct sockaddr *)&client_address, &client_len);
        fprintf(stdout, "one client request for connecting!n");
/* creates child process and loop .the parent process will listen again */

    if( (pid = vfork())  2)
      close(client_sockfd);

     if ( execl("/bin/fd_deal", NULL) 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • <unix环境变量高级编程第8章> vfork例题的疑问
  • 请问下面一个关于vfork的c程序的运行结果为什么会出现Segmentation fault ?哪位高手帮我解释下,谢谢。
  • 急!同一个c文件里vfork();pthread_create();两个函数,Makefile该怎么写?谢谢
  • vfork函数
  • 使用vfork(),后用return 出现段错误问题
  • 一个简单的vfork pid 问题?
  • what's the difference between fork()&vfork()?
  • vfork深度解析!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3