linux中fork函数与vfork函数的区别

简介: linux中fork函数与vfork函数的区别

fork函数跟vfork函数一样能够创建进程,它们主要有两个区别

(1)区别一:

vfork直接使用父进程存储空间,不拷贝。

(2)区别二:

vfork保证子进程先运行,当子进程调用exit退出后,父进程才执行。

一直运行子进程

调用exit退出子进程

运行三秒后父进程开始运行

代码如下:

#include <stdio.h>
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
 
 
int main()
{
    pid_t pid;
 
    int cnt = 0;
    
    pid = vfork();
        
    if(pid > 0)
    {
        while(1){
            printf("cnt=%d\n",cnt);
            printf("this is father precess, pid = %d\n",getpid());
            sleep(1);
        }    
    }
    
    else if(pid == 0){
        
        while(1){
            printf("this is chilid precess, pid = %d\n",getpid());
            sleep(1);
            cnt++;
            if(cnt == 3){
                exit(0);
                break;
            }
        }    
    }
 
    return 0;
}
 
相关文章
|
12天前
|
监控 Linux
Linux系统中du命令与df命令的区别与用法
总的来说,`du` 和 `df` 在磁盘管理中互补使用,能够提供全面的磁盘空间使用信息,帮助用户和管理员有效地监控和管理系统资源。
26 3
|
18天前
|
Linux Shell
Linux系统编程:掌握popen函数的使用
记得在使用完 `popen`打开的流后,总是使用 `pclose`来正确关闭它,并回收资源。这种做法符合良好的编程习惯,有助于保持程序的健壮性和稳定性。
19 6
|
19天前
|
Linux Shell
Linux系统编程:掌握popen函数的使用
记得在使用完 `popen`打开的流后,总是使用 `pclose`来正确关闭它,并回收资源。这种做法符合良好的编程习惯,有助于保持程序的健壮性和稳定性。
59 3
|
1月前
|
Linux
在Linux内核中根据函数指针输出函数名称
在Linux内核中根据函数指针输出函数名称
|
2月前
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
27 2
|
2月前
|
Shell Linux C语言
Linux0.11 execve函数(六)
Linux0.11 execve函数(六)
19 1
|
1月前
|
Linux
linux内核执行fork时对写时复制的设置
linux内核执行fork时对写时复制的设置
|
2月前
|
Linux
Linux0.11 文件打开open函数(五)
Linux0.11 文件打开open函数(五)
37 0
|
5月前
|
Linux 开发者
Linux文件编程(open read write close函数)
通过这些函数,开发者可以在Linux环境下进行文件的读取、写入和管理。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
154 4
|
5月前
|
存储 Linux
Linux文件编程(open read write close函数)
Linux文件编程(open read write close函数)
203 0
下一篇
无影云桌面