Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 确定父进程是否为终端 我有一个C++程序,我想确定父进程是否是一个终端。因为如果它是终端,我可以使用转义码突出显示输出,否则将显示无法读取的字符。 该解决方案需要在任何posix系统上运行_Java_C++_Linux - Fatal编程技术网

Java 确定父进程是否为终端 我有一个C++程序,我想确定父进程是否是一个终端。因为如果它是终端,我可以使用转义码突出显示输出,否则将显示无法读取的字符。 该解决方案需要在任何posix系统上运行

Java 确定父进程是否为终端 我有一个C++程序,我想确定父进程是否是一个终端。因为如果它是终端,我可以使用转义码突出显示输出,否则将显示无法读取的字符。 该解决方案需要在任何posix系统上运行,java,c++,linux,Java,C++,Linux,如果有人知道Java的解决方案,我也会对它感兴趣。如果我正确理解了您的问题,那么您从错误的角度看待它。不要问您的父进程是什么,而是问stdout的功能是什么。要在POSIX环境中实现这一点,请使用isatty() 对于stdout,isatty(stdout\u FILENO)应返回1 在Java中,如果stdin和stdout都是终端,System.console()显然会返回一个console对象,否则返回null。有关更多详细信息,请参阅。我认为POSIX中有一些东西可以做到这一点,但我想

如果有人知道Java的解决方案,我也会对它感兴趣。

如果我正确理解了您的问题,那么您从错误的角度看待它。不要问您的父进程是什么,而是问
stdout
的功能是什么。要在POSIX环境中实现这一点,请使用
isatty()

对于stdout,
isatty(stdout\u FILENO)
应返回
1


在Java中,如果stdin和stdout都是终端,
System.console()
显然会返回一个
console
对象,否则返回
null
。有关更多详细信息,请参阅。

我认为POSIX中有一些东西可以做到这一点,但我想不起具体细节。可能是
fcntl()
?不过,我在man条目中没有看到任何相关内容,所以可能是其他内容。@celticminstrel根据手册页
fcntl
代表
文件控制
,似乎不是我想要的,很抱歉,但父进程是终端是没有意义的。你是说标准输出是一个终端,父进程是一个交互式shell还是其他什么?