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命令中的含义是什么?的主要内容,如果未能解决你的问题,请参考以下文章