¿Qué significa TTY en el comando ps de Unix?

Cuando ejecuto PS, una de las columnas de salida es TTY. ¿Qué significa esto? En particular, ¿cómo funciona como valor de "??" comparar con "ttys000"?

Pregunto porque tengo un programa Java ejecutarsort a través de ProcessBuilder, y cuando este programa se ejecuta a través de mi IDE (IntelliJ), el proceso tarda 5 veces menos que cuando se ejecuta como un jar ejecutable fuera del IDE.

En cada caso, ejecuto ps cuando se está ejecutando el ordenamiento y la única diferencia es que el IDE crea un proceso con un TTY de ?? mientras que el jar crea un proceso con TTY de ttys000.

Respuestas a la pregunta(2)

Su respuesta a la pregunta