当我运行 PS 时,其中一列输出是 TTY。这是什么意思?特别是“??”的 as 值如何?与“ttys000”比较?
我问是因为我有一个 Java 程序通过 ProcessBuilder 执行 sort
,并且当这个程序通过我的 IDE (IntelliJ) 运行时,该进程所需的时间比在 IDE 之外作为可执行 jar 运行时少 5 倍.
在每种情况下,我都会在排序运行时运行 ps,唯一的区别是 IDE 会创建一个 TTY 为 ??而 jar 创建一个 TTY 为 ttys000 的进程。
最佳答案
一个 TTY是计算机终端。在 ps
的上下文中,它是执行特定命令的终端。
缩写代表“TeleTYpewriter”,它是允许用户连接到早期计算机的设备。
根据您的情况,jar 创建了一个名为“ttys000”的虚拟终端,但 IDE 没有附加到虚拟终端来执行命令。
关于java - unix ps 命令中的 TTY 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7113770/