我有一个进程正在写入终端。我找不到它是什么进程。它在重启后仍然存在

我有一个进程正在写入终端。我找不到它是什么进程。它在重启后仍然存在

一个小型 shell 脚本在 while 循环中使用 写入终端echo

如果我关闭终端,它会重新连接到我启动的新终端 - 通常/dev/pts/0但它也附加到/dev/pts/10

它在重启后仍然存在。我找不到它是什么进程:

ps -elf | awk '{if ($5 == 1){print $4" "$5" "$15}}'

显示除了我所在的终端之外没有其他 shell 在运行,并且它pts正在向其写入。如果我终止这些 shell,然后重新启动,它会继续写入,但我看不到任何 shell。

脚本休眠了一秒钟。我尝试sleep在 中查找ps,但它似乎从未出现。

我怎样才能找到并杀死它?顺便说一下,我正在运行 Ubuntu 17.04。

答案1

如果它正在写入终端,它必须有(可能有)终端的句柄。在这种情况下

lsof `tty`

从它写入的终端应该列出它,并给你pid。

(或者替换实际的终端,例如lsof /dev/pts/0。)

相关内容