java - unix ps 命令中的 TTY 是什么意思?

标签 java process tty ps

当我运行 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/

相关文章:

delphi - 如何使用Delphi检查进程是否正在运行?

linux - QFileDialog 不列出/dev/Linux 上的 tty* 文件

python - 在 Python 交互 session 中运行 help() 后继续

rust - 有没有一种跨平台的方法来检查 stdout 是否被管道传输到 Rust 中的另一个程序?

java - tomcat运行在8080端口却无法通过ip地址远程访问?

java - 无法使用Java的HttpURLConnection从Flickr API返回结果

java - springSecurityFilterChain 正在创建异常

java - JPA、Maven 和 MySQL。配置错误。找不到类 [com.mysql.jdbc.Driver]

javascript - 无法从子进程获取输出

linux - ps优先级与最高优先级输出的差异