Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得C程序本身设置的所有环境变量?_C_Linux_Bash_Gcc - Fatal编程技术网

如何获得C程序本身设置的所有环境变量?

如何获得C程序本身设置的所有环境变量?,c,linux,bash,gcc,C,Linux,Bash,Gcc,我正在编写一个C程序,它使用system()函数设置环境变量 是否有任何集合可以为我提供由C程序设置的环境变量?我需要在C程序中使用集合。在Linux和类似系统中,当您运行进程(例如执行C程序)时,该进程是创建它的进程的子进程(通常是命令行shell或桌面/GUI管理器)。创建过程是父过程。子进程中设置的任何“环境变量”都不会影响父进程 子进程可以使用getenv检查自己的环境变量 如果子进程使用system或其他例程创建自己的子进程,则在该“孙子”进程中创建的任何环境变量都不会影响其父进程(我

我正在编写一个C程序,它使用system()函数设置环境变量


是否有任何集合可以为我提供由C程序设置的环境变量?我需要在C程序中使用集合。

在Linux和类似系统中,当您运行进程(例如执行C程序)时,该进程是创建它的进程的子进程(通常是命令行shell或桌面/GUI管理器)。创建过程是父过程。子进程中设置的任何“环境变量”都不会影响父进程

子进程可以使用
getenv
检查自己的环境变量

如果子进程使用
system
或其他例程创建自己的子进程,则在该“孙子”进程中创建的任何环境变量都不会影响其父进程(我们的第一个子进程)

一个程序为另一个进程提供环境变量的两种常用方法是:

  • 程序可以创建自己的子进程,并指定要在子进程中创建的环境变量,如各种
    exec*
    例程,如
    execle
  • 程序将环境变量的设置写入stdout或其他流,协作进程读取这些设置并相应地设置自己的环境变量。例如,在Bourne类型的shell中使用命令
    eval`ssh-agent-s`
    。这个命令告诉shell执行命令
    ssh-agent-s
    ,然后像执行命令一样评估该命令的输出

在Linux和类似系统中,当您运行进程(例如执行C程序)时,该进程是创建它的进程的子进程(通常是命令行shell或桌面/GUI管理器)。创建过程是父过程。子进程中设置的任何“环境变量”都不会影响父进程

子进程可以使用
getenv
检查自己的环境变量

如果子进程使用
system
或其他例程创建自己的子进程,则在该“孙子”进程中创建的任何环境变量都不会影响其父进程(我们的第一个子进程)

一个程序为另一个进程提供环境变量的两种常用方法是:

  • 程序可以创建自己的子进程,并指定要在子进程中创建的环境变量,如各种
    exec*
    例程,如
    execle
  • 程序将环境变量的设置写入stdout或其他流,协作进程读取这些设置并相应地设置自己的环境变量。例如,在Bourne类型的shell中使用命令
    eval`ssh-agent-s`
    。这个命令告诉shell执行命令
    ssh-agent-s
    ,然后像执行命令一样评估该命令的输出

在Linux和类似系统中,当您运行进程(例如执行C程序)时,该进程是创建它的进程的子进程(通常是命令行shell或桌面/GUI管理器)。创建过程是父过程。子进程中设置的任何“环境变量”都不会影响父进程

子进程可以使用
getenv
检查自己的环境变量

如果子进程使用
system
或其他例程创建自己的子进程,则在该“孙子”进程中创建的任何环境变量都不会影响其父进程(我们的第一个子进程)

一个程序为另一个进程提供环境变量的两种常用方法是:

  • 程序可以创建自己的子进程,并指定要在子进程中创建的环境变量,如各种
    exec*
    例程,如
    execle
  • 程序将环境变量的设置写入stdout或其他流,协作进程读取这些设置并相应地设置自己的环境变量。例如,在Bourne类型的shell中使用命令
    eval`ssh-agent-s`
    。这个命令告诉shell执行命令
    ssh-agent-s
    ,然后像执行命令一样评估该命令的输出

在Linux和类似系统中,当您运行进程(例如执行C程序)时,该进程是创建它的进程的子进程(通常是命令行shell或桌面/GUI管理器)。创建过程是父过程。子进程中设置的任何“环境变量”都不会影响父进程

子进程可以使用
getenv
检查自己的环境变量

如果子进程使用
system
或其他例程创建自己的子进程,则在该“孙子”进程中创建的任何环境变量都不会影响其父进程(我们的第一个子进程)

一个程序为另一个进程提供环境变量的两种常用方法是:

  • 程序可以创建自己的子进程,并指定要在子进程中创建的环境变量,如各种
    exec*
    例程,如
    execle
  • 程序将环境变量的设置写入stdout或其他流,协作进程读取这些设置并相应地设置自己的环境变量。例如,在Bourne类型的shell中使用命令
    eval`ssh-agent-s`
    。T
    int main(int argc, char **argv, char **envp)
    {
        char **p;
    
        for(p = envp; *p != NULL; p++)
            printf("%s\n", *p);
        return(0);
    }