Как вывести список процессов, использующих мой текущий терминал, для их stdout / stderr

358
xuanji

Иногда у меня есть процессы, которые не являются потомками оболочки, которую я использую, но они все еще держат мою консоль открытой в качестве своих stdout или stderr (например, при запуске setsid yes &я попаду в это состояние). Как мне получить список всех таких процессов?

0
`ps` без аргументов должен предоставить вам список текущих процессов сеанса консоли. Zalmy 7 лет назад 0

1 ответ на вопрос

3
Spiff

Попробуй это:

lsof `tty` 

Он используется tty(1)для получения ttyспециального файла текущего устройства, а затем передает его, lsof(8)чтобы увидеть, в каких процессах этот файл открыт. Я уверен, что ничего принимать stdinот вашего терминала или вывода stdoutили stderrк терминалу, должен иметь файл устройство терминала открыт.