【发布时间】:2015-10-08 05:16:15
【问题描述】:
我有一个 C++ 程序,我想确定父进程是否是终端。因为如果它是终端,我可以使用转义码突出显示输出,否则将显示不可读的字符。 该解决方案需要在任何 posix 系统上运行。
如果有人知道 Java 的解决方案,我也会对此感兴趣。
【问题讨论】:
-
我认为 POSIX 中有一些东西可以做到这一点,但我不记得具体细节了。可能是
fcntl()?不过,我在 man 条目中没有看到任何相关内容,所以也许是别的东西。 -
@celticminstrel 根据手册页
fcntl代表file control,似乎不是我想要的 -
对不起,父进程是终端 是没有意义的。你的意思是标准输出是终端,父进程是交互式shell还是别的什么?