在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Linux fork()详解: 在开始之前,我们先来了解一些基本的概念: 1. 程序, 没有在运行的可执行文件 进程, 运行中的程序 2. 进程调度的方法: 按时间片轮转 3. 进程的状态: 就绪 ->> 运行 ->> 等待 查看当前系统进程的状态 ps auxf status: D Uninterruptible sleep (usually IO) 4. 父进程/子进程 , 让一个程序运行起来的进程就叫父进程, 被调用的进程叫子进程 5. getpid //获取当前进程的进程号 6. fork //创建一个子进程,创建出来的子进程是父进程的一个副本, 除了进程号,父进程号不同。 子进程从fork()后开始运行, 它得到的fork返回值为0 来看一个程序: #include <stdio.h> #include <unistd.h> int main(void) { pid_t pid ; //printf("hello world \n"); //从fork开始就已经产生子进程 pid = fork(); //就已经产生新的4G空间,复制空间 //创建出来的子进程是父进程的一个副本,除了进程号,父进程号和子进程号不同 //printf("hello kitty\n"); if(pid == 0) { //子进程运行区 printf("child curpid:%d parentpid:%d \n" , getpid() , getppid()); return 0 ; } //父进程运行区 printf("parent curpid:%d parentpid:%d \n" , getpid() , getppid()); return 0 ; } 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! |
请发表评论