TTY在unix ps命令中的含义是什么?

Zug*_*alt 28 java process ps tty

当我运行PS时,其中一列输出是TTY.这是什么意思?特别是,作为"??"的价值如何 与"ttys000"比较?

我问,因为我有一个Java程序运行sort通过的ProcessBuilder,而当这个程序是通过我的IDE(的IntelliJ)运行过程需要时为IDE外部可执行的JAR运行低于5倍.

在每种情况下,我都在运行排序时运行ps,唯一的区别是IDE创建了一个TTY为??的进程.而jar创建一个TTY为ttys000的进程.

Geo*_*ins 33

TTY是一个计算机终端.在上下文中ps,它是执行特定命令的终端.

缩写代表"TeleTYpewriter",它是允许用户连接到早期计算机的设备.

根据您的情况,jar会创建一个名为"ttys000"的虚拟终端,但IDE不会附加到虚拟终端以执行该命令.

  • 注意:我的性能问题是由于IntelliJ和shell使用不同的默认字符集. (3认同)

Jür*_*bel 5

一个过程可以(通常是)绑定到“控制终端”。该终端可能是串行线路末端的硬件,或者今天更可能是等效的虚拟软件。TTY从父进程继承。您的IDE最有可能与TTY脱离关联,并且在Java程序之外启动时,它会继承Shell的TTY。