1.fork创建进程的使用
fork()返回值等于0时,表示创建子进程;
fork()返回值大于0时,是主进程;
#include<stdio.h> #include<stdlib.h> #include<sys/wait.h> #include<signal.h> void sig_handler(int signo) { printf("child process %d stop\n", signo); //wait(0); } void out(int n) { int i = 0; for(i = 0; i < n; ++i) { printf("%d:%d out %d\n", getpid(), i); sleep(1); } } int main(void) { if (signal(SIGCHLD, sig_handler) == SIG_ERR) { perror("sigchld error"); exit(1); } pid_t pid = fork(); if(pid < 0) { perror("fork error"); exit(1); } else if(pid > 0) { out(100); } else { out(20); } return 0; }
原文地址:https://www.cnblogs.com/weiyouqing/p/12708191.html
时间: 2024-11-08 17:50:04