我有一個由調用者exec()
或system()
或popen()
生成的消息,並且想將它傳遞給子進程。更改ENV是一種方式,但在多線程程序,通過putenv()
或setenv()
改變ENV是不是安全。我不允許通過子進程的argv
將它傳遞。在多線程程序中向系統傳遞信息()
寫的東西有些文件是一個選擇,但我們怎樣才能識別一個特定的消息是從哪個父通過,旨在哪個孩子?一種方法是將父pid添加到消息中,孩子可以通過ppid匹配找到消息。但是,當多個線程調用popen()
,將有多個消息具有相同PID。
你用什麼語言?我猜C?答案取決於語言:例如,Python對'popen()'有'env'參數... – EOL 2012-03-01 09:31:41
是的,我使用C.thx – user1200759 2012-03-01 22:30:24