有时,我有一些进程不是我正在使用的 shell 的后代,但它们仍将我的控制台作为其 stdout 或 stderr 打开(例如,运行setsid yes &
将使我处于此状态)。如何获取所有此类进程的列表?
答案1
尝试这个:
lsof `tty`
它用于tty(1)
获取当前tty
设备特殊文件,然后将其传递给lsof(8)
查看哪些进程打开了该文件。我非常确定stdin
从终端获取或输出stdout
到stderr
终端的任何内容都必须打开终端设备文件。
有时,我有一些进程不是我正在使用的 shell 的后代,但它们仍将我的控制台作为其 stdout 或 stderr 打开(例如,运行setsid yes &
将使我处于此状态)。如何获取所有此类进程的列表?
尝试这个:
lsof `tty`
它用于tty(1)
获取当前tty
设备特殊文件,然后将其传递给lsof(8)
查看哪些进程打开了该文件。我非常确定stdin
从终端获取或输出stdout
到stderr
终端的任何内容都必须打开终端设备文件。