赞
踩
进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
创建一个子进程
#include <unistd.h>
pid_t fork(void);
失败返回-1,成功两次返回:
(1)父进程返回子进程的ID(非负)
(2)子进程返回0
getpid:获得当前进程ID(pid)
getppid:获得当前进程父进程的ID
#include <sys/types.h>
#include <unistd.h>
pid_t getpid(void);
pid_t getppid(void);
1 #include <stdio.h> 2 #include <unistd.h> 3 #include <sys/types.h> 4 #include <stdlib.h> 5 6 int main(int argc, char *argv[]) 7 { 8 printf("Begining...\n"); 9 pid_t pid = fork(); 10 if(pid < 0){ 11 perror("fork err"); 12 exit(1); 13 } 14 if(pid == 0){ 15 //child 16 printf("I am a child, self pid = %d, ppid = %d\n", getpid(), getppid 17 } 18 else if(pid > 0){ 19 //parent 20 printf("child pid = %d, self pid = %d, ppid = %d\n", pid, getpid(), 21 sleep(1); //父进程休眠一秒,防止父进程比子进程先结束,导致子进程成为孤儿进程 22 } 23 printf("Ending...\n"); 24 25 return 0; 26 }
执行结果如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。