prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 19.33

一个进程如何更改其调用者的环境变量?


这可能可行,也可能完全不可行。不同的操作系统以不同的方式实现了类似 Unix 环境的全局名称/值功能。一个运行中的程序是否能被“环境”有效地改变,以及如何改变,取决于系统。

在 Unix 系统下,一个进程可以修改自己的环境(有些系统提供setenvputenv函数用于此目的),修改后的环境通常会传递给子进程,但不会传回给父进程。(只有当父进程被显式设置为监听某种类型的更改请求时,才能改变父进程的环境。BSD “tset” 程序在 .profile 和 .login 文件中的常规执行会产生这样一个方案。)在 MS-DOS 下,可以操作环境的主副本,但所需技术很晦涩。(参见 MS-DOS FAQ 列表。)


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管