我正在尝试在控制台应用程序中使用posix_spawnp(NULL, pgm, NULL, NULL, (char**) argv, NULL)
而不是fork及其它其余部分。问题是无论我启动有关“错误打开终端:”的消息是什么。对于GUI应用程序,这是确切的消息,例如nano
会得到Error opening terminal: unknown.
,mc
会得到The TERM environment variable is unset!
,但是我不得不进入TERM = xterm环境,就好像posix_spawnp没有继承父级环境一样,我以为NULL可以做到?
答案 0 :(得分:1)
posix_spawnp
为NULL, envp
不会复制父级环境。您必须使用定义为environ
的{{1}}变量发送副本,以便最终得到extern char **environ