FreeBSD控制nspluginwrapper多余进程的方法
问题
使用nspluginwrapper(/usr/ports/www/nspluginwrapper)在Firefox中播放Flash的同学可能会发现:关闭Flash页面后,有个名为“npviewer.bin”的进程仍然驻留,随着打开/关闭/切换Flash页面次数的增多,最后进程表里会有N个“npviewer.bin”进程,并且占据了大量内存,只能手动执行“killall npviewer.bin”。
解决方案
step1:
在你的用户目录下建立一个sh脚本,比如/home/yhs/bin/flashkiller。
脚本内容如下:
#!/bin/sh
flashcount=$(/bin/pgrep npviewer.bin | /usr/bin/wc -l)
if [ $flashcount = 1 ]
then
/usr/bin/killall npviewer.bin
fi
step2:
命令行下执行:
crontab -e
输入下列内容后,保存退出:
*/5 * * * * /home/yhs/bin/flashkiller > /dev/null #注意空格!
查看计划任务:
crontab -l
之后,cron守护进程将会自动执行step1中的脚本,为你清理多余的“npviewer.bin”进程。
参考
Flash leaving behind npviewer.bin ‘stuff'[URL:http://forums.freebsd.org/showthread.php?p=67155#post67155]
配置cron[URL:http://www.freebsd.org/doc/zh_CN/books/handbook/configtuning-cron.html]
原文链接:http://wiki.freebsdchina.org/howto/f/flash_process_ctrl