一个小型 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
。)