如何列出使用当前终端的进程的标准输出/错误输出

如何列出使用当前终端的进程的标准输出/错误输出

有时,我有一些进程不是我正在使用的 shell 的后代,但它们仍将我的控制台作为其 stdout 或 stderr 打开(例如,运行setsid yes &将使我处于此状态)。如何获取所有此类进程的列表?

答案1

尝试这个:

lsof `tty`

它用于tty(1)获取当前tty设备特殊文件,然后将其传递给lsof(8)查看哪些进程打开了该文件。我非常确定stdin从终端获取或输出stdoutstderr终端的任何内容都必须打开终端设备文件。

相关内容