java - hace - ps-fea grep linux
¿Qué significa TTY en el comando ps de unix? (2)
Un TTY es un terminal de computadora. En el contexto de ps
, es el terminal que ejecutó un comando en particular.
La abreviatura significa "TeleTYpewriter", que eran dispositivos que permitían a los usuarios conectarse a las primeras computadoras.
En relación con su situación, el jar crea un terminal virtual llamado ''ttys000'' pero el IDE no se conecta a un terminal virtual para ejecutar el comando.
Cuando ejecuto PS, una de las columnas de salida es TTY. ¿Qué significa esto? En particular, ¿cómo funciona el valor de "??" comparar con "ttys000"?
Lo pregunto porque tengo un programa Java ejecutado por ProcessBuilder, y cuando este programa se ejecuta a través de mi IDE (IntelliJ), el proceso toma 5 veces menos que cuando se ejecuta como un archivo ejecutable fuera del IDE.
En cada caso, ejecuto ps cuando la ordenación se está ejecutando y la única diferencia es que el IDE crea un proceso con un TTY de ?? mientras que el tarro crea un proceso con TTY de ttys000.
Un proceso puede estar (y generalmente está) vinculado a un "terminal de control". Este terminal puede ser hardware al final de una línea serie, o mucho más probable hoy en día, ser un equivalente de software virtual. El TTY se hereda del proceso padre. Lo más probable es que su IDE se desvincule de su TTY, y cuando se inicia fuera de su programa Java, hereda el TTY de su shell.