Подтвердить что ты не робот

Что означает TTY в команде unix ps?

Когда я запускаю PS, один из столбцов выводит TTY. Что это значит? В частности, как значение "?" сравнить с "ttys000"?

Я спрашиваю, потому что у меня есть программа Java, выполняющая sort через ProcessBuilder, и когда эта программа запускается через мою IDE (IntelliJ), процесс занимает 5 раз меньше, чем при запуске в качестве исполняемого баннера вне IDE.

В каждом случае я запускаю ps, когда сортировка запущена, и единственная разница заключается в том, что создатели IDE выполняют процесс с TTY? тогда как банка создает процесс с TTY ttys000.

4b9b3361

Ответ 1

A TTY - это компьютерный терминал. В контексте ps терминал выполняет конкретную команду.

Аббревиатура означает "TeleTYpewriter", которые были устройствами, которые позволяли пользователям подключаться к ранним компьютерам.

В связи с вашей ситуацией банка создает виртуальный терминал с именем "ttys000", но среда IDE не подключается к виртуальному терминалу для выполнения команды.

Ответ 2

Процесс может быть (и обычно) связан с "управляющим терминалом". Этот терминал может быть аппаратным в конце последовательной линии или, что гораздо более вероятно, сегодня, является эквивалентом виртуального программного обеспечения. TTY наследуется от родительского процесса. Скорее всего, ваша среда IDE отключается от TTY, а при запуске вне вашей java-программы наследует вашу оболочку TTY.