Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.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中使用system()更新运行时值吗_C_Linux - Fatal编程技术网

我们可以在c中使用system()更新运行时值吗

我们可以在c中使用system()更新运行时值吗,c,linux,C,Linux,我们可以在c中使用system()更新运行时值吗 我想使用system()而不是setenv 最初,在运行我在linux shell中给出的代码之前,export-ENVIRONMENT=0不,您不能 system()。它对它所做的所有更改都不会影响父进程的环境,因此您不会注意到它可能产生的setenv的任何影响(除非子进程在setenv之后做其他事情)。当子进程终止时(可能很快),那么改变的环境就被遗忘了 您无法使用正确的setenv调用。也许你应该问一个关于你的问题的新问题 要更改父进程的环

我们可以在c中使用system()更新运行时值吗

我想使用
system()
而不是
setenv

最初,在运行我在linux shell中给出的代码之前,
export-ENVIRONMENT=0

不,您不能

system()。它对它所做的所有更改都不会影响父进程的环境,因此您不会注意到它可能产生的
setenv
的任何影响(除非子进程在
setenv
之后做其他事情)。当子进程终止时(可能很快),那么改变的环境就被遗忘了

您无法使用正确的
setenv
调用。也许你应该问一个关于你的问题的新问题

要更改父进程的环境,父进程必须更改它。孩子只能将信息返回给父母,父母必须使用这些信息。这样做的一种典型方式是:

父进程(例如在外壳中):

子进程(例如在C中):

不,你不能

system()。它对它所做的所有更改都不会影响父进程的环境,因此您不会注意到它可能产生的
setenv
的任何影响(除非子进程在
setenv
之后做其他事情)。当子进程终止时(可能很快),那么改变的环境就被遗忘了

您无法使用正确的
setenv
调用。也许你应该问一个关于你的问题的新问题

要更改父进程的环境,父进程必须更改它。孩子只能将信息返回给父母,父母必须使用这些信息。这样做的一种典型方式是:

父进程(例如在外壳中):

子进程(例如在C中):

不,你不能

system()。它对它所做的所有更改都不会影响父进程的环境,因此您不会注意到它可能产生的
setenv
的任何影响(除非子进程在
setenv
之后做其他事情)。当子进程终止时(可能很快),那么改变的环境就被遗忘了

您无法使用正确的
setenv
调用。也许你应该问一个关于你的问题的新问题

要更改父进程的环境,父进程必须更改它。孩子只能将信息返回给父母,父母必须使用这些信息。这样做的一种典型方式是:

父进程(例如在外壳中):

子进程(例如在C中):

不,你不能

system()。它对它所做的所有更改都不会影响父进程的环境,因此您不会注意到它可能产生的
setenv
的任何影响(除非子进程在
setenv
之后做其他事情)。当子进程终止时(可能很快),那么改变的环境就被遗忘了

您无法使用正确的
setenv
调用。也许你应该问一个关于你的问题的新问题

要更改父进程的环境,父进程必须更改它。孩子只能将信息返回给父母,父母必须使用这些信息。这样做的一种典型方式是:

父进程(例如在外壳中):

子进程(例如在C中):


为什么要使用system()而不是setenv()这听起来很奇怪,因为使用
system
根本不是一个好主意,因为至少会产生一个额外的进程!setenv工作不正常我想使用system()设置环境值问题是,如果通过system更改环境,它只会在
system
生成的命令处理器范围内更改。你知道没有进程可以改变它的父进程环境吗?那么,在我的系统重置后,可能的解决方案是什么呢?我希望在我的系统中增加环境的值。但是你为什么要使用system()而不是setenv()这听起来很奇怪,因为使用
system
根本不是一个好主意,因为至少会产生一个额外的进程!setenv工作不正常我想使用system()设置环境值问题是,如果通过system更改环境,它只会在
system
生成的命令处理器范围内更改。你知道没有进程可以改变它的父进程环境吗?那么,在我的系统重置后,可能的解决方案是什么呢?我希望在我的系统中增加环境的值。但是你为什么要使用system()而不是setenv()这听起来很奇怪,因为使用
system
根本不是一个好主意,因为至少会产生一个额外的进程!setenv工作不正常我想使用system()设置环境值问题是,如果通过system更改环境,它只会在
system
生成的命令处理器范围内更改。你知道没有进程可以改变它的父进程环境吗?那么,在我的系统重置后,可能的解决方案是什么呢?我希望在我的系统中增加环境的值。但是你为什么要用system()而不是setenv()这听起来很奇怪,因为使用
system
根本不是一个好主意,sinc
int abcd()
{
   int temp1=0;

   char *env=NULL;
   env=getenv("ENVIRONMENT");
   sscanf(env,"%d",&temp1);
   temp1=temp1+1;
   printf("%d",temp1);
   sprintf(env,"%d",temp1);
   setenv("ENVIRONMENT",env,0);
} 
eval "$(child)"
printf("setenv ENVIRONMENT=%d\n", value+1);