⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fork1.vfork.c

📁 Solaris下进程编程源码,sun公司培训用例
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/wait.h>int gvar = 0;int main(int argc, char** argv){        int lvar = 0;        pid_t child_pid;                printf("Initial value: gvar = %d, lvar = %d\n", gvar, lvar);	                // Create the child process 1 using fork1()        child_pid = fork1();        switch(child_pid) {        case -1:    // Error                printf("Can't create child process 1\n");                exit(-1);        case 0:    // Child 1's code                // Change the variables' value                gvar = 1;                lvar = 1;                // Print the variables                printf("Child process1: gvar = %d, lvar = %d\n", gvar, lvar);		                                                         printf("Press enter to exit child process 1...");                getchar();                exit(0);        default:                break;        }            // Wait for child 1's termination        wait(NULL);            // Print the global variable and local variable        printf("Parent process: gvar = %d, lvar = %d\n", gvar, lvar);                // Create the child process 2 using vfork()        child_pid = vfork();        switch(child_pid) {        case -1:    // Error                printf("Can't create child process 2\n");                _exit(-1);                break;        case 0:    // Child 2's code                // Change the variables' value                gvar = 2;                lvar = 2;                // Print the variables                printf("Child process2: gvar = %d, lvar = %d\n", gvar, lvar);		                                                                                                                                   printf("Press enter to exit child process 2...");                getchar();                _exit(0);        default:                break;        }            // Print the variables again        printf("Parent process: gvar = %d, lvar = %d\n", gvar, lvar);        return 0;}		                                                                                                                                                 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -