zoukankan      html  css  js  c++  java
  • linux进程控制开发实例

    fork.c

    #include <sys/types.h>
    #include <unistd.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
        pid_t result;
        
        result = fork();
        
        if (result == -1)
        {
            printf("Fork Error!
    ");
        }
        else
        {
            if (result == 0)
            {
                printf("The returned value is %d
    The child process!!
    My PID is %d
    ", result, getpid());
            }
            else
            {
                printf("The returned value is %d
    The father process!!
    My PID is %d
    ", result, getpid());
            }
        }
        
        return 0;
    }

    exec.c

    #include <unistd.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
        pid_t result;
        
        result = fork();
        
        if (result == 0)
        {
            if (execlp("ps", "ps", "-ef", NULL) < 0)
            {
                printf("Execlp error
    ");
            }
        }
        
        return 0;
    }

    waitpid.c

    #include <sys/types.h>
    #include <sys/wait.h>
    #include <unistd.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
        pid_t pc, pr;
        
        pc = fork();
        
        if (pc < 0)
        {
            printf("Error fork
    ");
        }
        else if (pc == 0)
        {
            sleep(5);
            exit(0);
        }
        else
        {
            do
            {
                pr = waitpid(pc, NULL, WNOHANG);
                
                if(pr == 0)
                {
                    printf("The child process has not exited!
    ");
                    sleep(1);
                }
            }while (pr == 0);
            
            if (pr == pc)
            {
                printf("Get child exit code: %d
    ", pr);
            }
            else
            {
                printf("Some error occured.
    ");
            }
        }
        
        return 0;
    }

    参考资料:《嵌入式Linux应用程序开发标准教程》

  • 相关阅读:
    asp.net应用程序的生命周期和iis
    跨网页公布技术
    Java面试题:异常、静态变量
    js省市级联
    python基础之介绍
    Java学习(二)有关Tomcat的进一步理解与运用
    Java学习(一)环境的配置和软件的使用
    构造方法
    自言自语
    小小叹
  • 原文地址:https://www.cnblogs.com/amanlikethis/p/7011143.html
Copyright © 2011-2022 走看看