zoukankan      html  css  js  c++  java
  • linux下fork的使用

    fork 创建一个新的进程,新创建的进程是子进程,它是对父进程以后代码的一个复制,通常用来做多进程的服务器,也可以在子进程中运行独立的代码。
    用getpid可以判断当前是子进程还是父进程。

    看下面这个例子:

    #include <sys/types.h>
    #include <unistd.h>
    #include <stdio.h>
    int main()
    {
        pid_t pid;
        static int n = 0;
        printf("fork!/n");
        switch (pid = fork())
        {
            case -1:
            {
                /* ..pid.-1.fork.... */
                /* ........ */
                /* .......... */
                perror("The fork failed!");
                break;
            }
            case 0:
            {
                /* pid.0.... */
                printf("[child]i am child!/n");
                printf("[child]getpid=[%d]/n", getpid() );
                printf("[child]pid=[%d]/n", pid );
                break;
            }
            default:
            {
                /* pid..0.... */
                printf("[parent]i am parent!/n" );
                printf("[parent]getpid=[%d]/n",getpid() );
                printf("[parent]pid=[%d]/n",pid );
                break;
            }
        }
        printf("n=[%d]/n", n++);

        return 0;
    }

    这个例子在linux下用gcc编译,运行结果如下:

    fork!
    [child]i am child!
    [child]getpid=[7422]
    [child]pid=[0]
    n=[0]
    [parent]i am parent!
    [parent]getpid=[7421]
    [parent]pid=[7422]
    n=[0]

  • 相关阅读:
    常用的adb命令
    Jmeter之计数器
    Jmeter跨线程组传递变量
    Jmeter的属性和变量
    Jmeter之关联——常用提取器
    Jmeter常用的逻辑控制器
    HDU 1262 寻找素数对 模拟题
    HDU 1431 素数回文 离线打表
    HDU 2553 N皇后问题
    HDU 2093 考试排名 模拟题
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9410183.html
Copyright © 2011-2022 走看看