通过execve在两个进程间传递环境变量
来源:互联网 发布:网络平台营业执照 编辑:程序博客网 时间:2024/06/10 23:47
进程1:execve
进程2:hello
execve.h 的代码如下:
#include <stdio.h>#include <stdlib.h>#include <unistd.h>/* #include <unistd.h> execve是系统调用,下面的函数是execve的库函数 extern char **environ; int execl(const char *path, const char *arg, ...); int execlp(const char *file, const char *arg, ...); int execle(const char *path, const char *arg, ..., char * const envp[]); int execv(const char *path, char *const argv[]); int execvp(const char *file, char *const argv[]);*/int main(void){ printf("pid: %d\n", getpid()); // 自定义的环境变量参数列表---> 其实就是一个指针数组 char * const envp[] = {"aaa=111", "bbb=222", NULL}; execve("./hello", NULL, const); printf("hello...\n"); return 0;}
hello.c的代码:
#include <stdio.h>#include <stdlib.h>#include <unistd.h>// environ:环境变量 ===== 指针数组extern char **environ;int main(void){ int i = 0; printf("hello_pid: %d\n", getpid()); for (i = 0; environ[i] != NULL; i++) { printf("%s\n", environ[i]); } return 0;}
单独执行hello进程的时候,会打印出系统的环境变量
通过在execve进程里调用execve函数可以调用子进程hello,并自定义环境变量,execve进程最后那个打印操作并不会再执行
0 0
- 通过execve在两个进程间传递环境变量
- 通过execve在两个进程间传递环境变量
- 通过环境变量传递参数给进程
- 进程-execve
- 通过execve实现不同进程间文件描述符的共享
- 通过进程2加载shell进程,详解execve
- 父子进程间通信---通过设置环境变量
- Android:通过Intent在两个Activity之间传递对象(Parcelable)
- 通过bundle在两个activity传递信息的零碎代码
- 进程间通过WM_COPYDATA传递数据
- Linux 通过信号机制在进程间传递参数中的几个主要函数解析
- 嵌入式 Linux 通过信号机制在进程间传递参数中的几个主要函数解析
- 进程的创建: fork/execve
- 【进程管理】系统调用execve()
- 4 两个Activity间通过Bundle传递数据
- MFC copydata实现两个进程间信息传递。
- 在进程中运行新代码 execl、execle、execlp、execv、execve和execvp函数
- 在进程中运行新代码 execl、execle、execlp、execv、execve和execvp函数
- HDOJ 1016 Prime Ring Problem素数环【深搜】
- HDU 1452 Happy 2004
- 获取栈中最小值函数,时间复杂度为O(1)
- 详解 CSS 属性 - :before && :after
- SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax
- 通过execve在两个进程间传递环境变量
- Flexpaper的参数解释
- C++课堂学习笔记
- 第一篇CSDN blog
- SSM入门笔记01
- 蓝桥杯 历届试题 敢死队
- 微信测试号Scope参数列表错误或没有Scope权限
- Android Studio 插件
- hdu 3303(线段树+抽屉原理)