我正在使用制作和发送消息的生产者和获取消息的消费者编写一个应用程序。我必须在生产者应用程序中设置环境变量并在消费者应用程序中读取它。
在生产者应用程序中,我执行了此命令
putenv("MSG_KEY=15");
在消费者应用程序中,我试图获取这样的变量
char *z=getenv("MSG_KEY");
但它不返回任何值(我得到 nil 值)。如果我在生产者中编写相同的命令,如果我putenv()
之前使用几行,它就可以工作。我认为问题在于它仅在本地设置变量,因此我无法从另一个程序访问它,但我不知道如何解决它。不知道这是否重要,但我使用的是 Linux 系统。