我正在写一个插件,当你访问网站时,它会自动突出显示文本字符串。它类似于突出显示的搜索结果,但它是自动的,可以用于许多单词;它可以用于有过敏症的人,例如,当他们浏览食物网站时,使单词真正突出。
但我有个问题。当我试图关闭一个空的、新鲜的FF窗口时,它以某种方式阻塞了整个过程。当我杀死这个进程时,所有的窗口都消失了,但是Firefox进程仍然活着(父进程的PID是1,不监听任何信号,有大量的资源打开,仍然占用CPU,但不会改变)。
所以有两个问题:
编辑这是一个有问题的过程:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
digulla 16688 4.3 4.2 784476 345464 pts/14 D Mar28 75:02 /opt/firefox-3.0/firefox-bin
与ps -ef | grep firefox
相同
UID PID PPID C STIME TTY TIME CMD
digulla 16688 1 4 Mar28 pts/14 01:15:02 /opt/firefox-3.0/firefox-bin
这是唯一剩下的过程。如你所见,它不是僵尸,它在跑!它不会听kill -9,不管我是按PID还是按名字杀死它!如果我尝试连接strace
,那么strace
也会挂起,并且不能被杀死。也没有输出。我的猜测是FF挂在某个内核例程中,但是是哪个呢?
基于sigjuice反馈的EDIT2:
ps axopid,comm,wchan
可以显示进程在哪个内核例程中挂起。在我的例子中,令人不快的插件是Beagle Indexer (openSUSE 11.1)。禁用插件后,FF再次成为一只敏捷而快乐的狐狸。
https://stackoverflow.com/questions/694720
复制相似问题