在unix中如何实现对全局环境变量的读写?

maquanjun 2001-07-17 10:50:12
我目前编程需要用C编程,改变一个环境变量,改变之后,另外的程序(不在同一个进程内)可以把这个值读过来.用getenv()和putenv()不行,原因是各个进程拥有各自的环境变量,也就是该环境变量只在自己的进程内是有效的.求教各位高手,如何才能实现?我编程的环境是AIX
...全文
195 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
swat 2001-07-21
  • 打赏
  • 举报
回复
用mmap比较好吧!将文件映射到进程空间,进行共享!
leechie 2001-07-21
  • 打赏
  • 举报
回复
已经退出又怎样?只要你不重启机器!!!
看你的情况好象用共享内存好一点!!!
maquanjun 2001-07-20
  • 打赏
  • 举报
回复
我的问题可能还是讲的不详细,两个进程并不一定同时存在,一个进程要读入参数时,另一个进程可能已经退出,事实用文件是最合适的,但是因为文件读写很容易出现io错误,而运行时又有非常大的读写量,所以我才想用环境变量
leechie 2001-07-20
  • 打赏
  • 举报
回复
TLI:Transfer Layer Interface
icedew 2001-07-19
  • 打赏
  • 举报
回复
在socket中指明AF_UNIX参数,就是建立UNIX域套接口,使用客户机服务器模式进行本地机上的进程间通信.与网络间通信的不同就在于其地址结构socketaddr_un是以该机上众所周知的路径名(因为每一个路径都是唯一的)和进程号来填充的,类似于网络间的IP地址和端口。
swat 2001-07-19
  • 打赏
  • 举报
回复
进程通信一般采用用socket.?
是不同机器键的进程通信么?
GRIEG 2001-07-19
  • 打赏
  • 举报
回复
请问TLI是什么东东?
leechie 2001-07-19
  • 打赏
  • 举报
回复
一台机器上ipc通信手段太多了:消息队列,共享内存,命名管道,文件,socket...
不是一台机器socket,TLI,RPC等等
maquanjun 2001-07-18
  • 打赏
  • 举报
回复
我怎么总是给你们加不上分?
maquanjun 2001-07-18
  • 打赏
  • 举报
回复
谢谢二位
GRIEG 2001-07-18
  • 打赏
  • 举报
回复
环境变量一般用于参数的设定,比如读什么路径下的文件啊,而且getenv不稳定。
进程通信一般采用用socket.
进程间调用可以考虑CORBA
maquanjun 2001-07-18
  • 打赏
  • 举报
回复
高手,能说的稍微具体些么?
icedew 2001-07-17
  • 打赏
  • 举报
回复
我觉得进程间的通讯最好的方法应该是用共享内存,为什么要用环境变量呢?利用环境变量通讯是在父子进程之间使用的,因为只有子进程才完全继承父进程的环境变量,对于两个独立进程来说似乎不行吧。还是建议使用共享内存,或者通讯量不大的话使用消息传递也很好啊。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧