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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TTY在unix ps命令中的含义是什么?相关的知识,希望对你有一定的参考价值。

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

我问,因为我有一个Java程序通过ProcessBuilder执行sort,当这个程序通过我的IDE(IntelliJ)运行时,该过程比在IDE外部作为可执行jar运行时少5倍。

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

答案

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

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

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

另一答案

进程可以(并且通常是)绑定到“控制终端”。该终端可以是串行线末端的硬件,或者今天更可能是虚拟软件等价物。 TTY继承自父进程。很可能你的IDE与TTY脱离关联,当你在java程序之外启动时,你继承你的shell的TTY。

以上是关于TTY在unix ps命令中的含义是什么?的主要内容,如果未能解决你的问题,请参考以下文章

Linux ps aux 命令详解

Linux 学习笔记 更多的bash shell命令

1.5 常用UNIX/Linux命令 -进程控制类命令

:更多的bash shell命令·

unix下如何用ps命令得到进程的路径

linux ps命令显示一个特定的进程信息,如下说明