首页 > 其他分享 >系统调用 execve

系统调用 execve

时间:2022-11-18 16:37:39浏览次数:70  
标签:调用 int 系统 pid include printf main hello execve

main.c

#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>

char * argv[]={ "arg1","arg2", NULL };
char * envp[] = { "PATH=/bin", "HOME=/root", NULL };

int main()
{
        printf("main pid = %d\n", getpid());
        int pid;
        if(!(pid=fork()))
        {
                printf("execve pid = %d\n", getpid());
                // 执行hello不创建新进程  hello的pid和这个子进程pid相同
                execve("./hello",argv,envp);
        }
        while(pid != wait(NULL)) /* do nothing */;
        printf("main end\n");
        return 0;
}

hello.c

#include <stdio.h>
#include <unistd.h>

int main(int argc, char **argv, char **envp)
{
        printf("hello program start\n");
        pid_t pid = getpid();
        printf("helllo pid = %d\n", pid);
        int i;
        for(i=0;i<argc;i++)
                printf("argv: %s\n",argv[i]);

        while (*envp != NULL)
                printf("arge: %s\n",*envp++);

        printf("hello program end\n");
        return 0;
}

编译运行

gcc mian.c -o main
gcc hello.c -o hello
./main

执行结果

main pid = 4408
execve pid = 4410
hello program start
helllo pid = 4410
argv: arg1
argv: arg2
arge: PATH=/bin
arge: HOME=/root
hello program end
main end

link

标签:调用,int,系统,pid,include,printf,main,hello,execve
From: https://www.cnblogs.com/zkx98/p/16903630.html

相关文章

  • c++ 调用 python 备忘
    PyBytesObject值的获取:PyObject*pFuncSetCredentialResult=PyObject_CallObject(pFuncSetCredential,pFuncSetCredentialArgs);PyBytesObject*pBytes......
  • ARB5母线弧光保护在中低压电力系统中的应用
    安科瑞陈盼中压配电室母线弧光保护应用场景功能1.8组弧光保护、4组失灵保护、11路可编程跳闸出口、2路以太网、1路打印接口、1路IRIG-B码对时接口、支持IEC61850、modbusRT......
  • 肖sir__车载测试__车机影音娱乐系统的语音唤醒交互测试
    车机影音娱乐系统的语音唤醒交互测试随着多屏联动、语音识别、手势控制、增强现实、云交互等新技术的涌现,智能座舱功能交互越来越丰富、越来越复杂。 下面我们就来讲讲......
  • UOS怎么使用系统盘不安装系统进入系统
    制作U盘启动盘可下载ISO镜像使用rufus进行制作,制作过程不详述使用U盘启动已联想CF4620Z笔记本为例启动时按Fn+F12键选择启动介质选择使用U盘启动在启动界面按e键......
  • centos7.4系统: redis配置密码
    背景:因为安全需要,对redis进行密码配置说明:默认redis没有密码,需要自己配置密码一、配置临时密码(重启后失效)以下以密码:wangzy为例1.1连接客户端[root@wangzyredis]#......
  • vue后台管理系统"多条件查询"书写逻辑
      首先要创建el-from表单,在表单中创建两个输入框并双向绑定 首选行内表单:  代码如下: <el-form:inline="true":model="formInline"class="demo-form-in......
  • 系统级低功耗设计
    转载:https://www.cnblogs.com/IClearner/p/6903204.html 1.系统与架构级低功耗设计系统与架构层次的低功耗设计,可以节省70%以上的功耗。这个层次上的设计往往是由......
  • SQLSERVER调用WebAPI和WebService
    原文:https://blog.csdn.net/qq243348167/article/details/124243810第一步需开启组件开启组件sp_configure'showadvancedoptions',1;GORECONFIGURE;GOsp_confi......
  • 库存管理流程如何系统化?简便标准化?
    库存管理小程序可以实现对所有业务的库存数据进行自动的关联、出库、入库单据自动生成。仓库管理员不再需要用多个“记录本”逐一检查,从而有效地提高了工作效率,降低了错误......
  • 运筹优化在地服人员派工系统中的应用简介
    运筹优化在地服人员派工系统中的应用简介——以HCC项目为例人员派工是运筹优化的一个常见的应用领域,本文结合目前正在进行的项目对这方面的内容进行一个简单的介绍。概......