我有一个可以抓取数据的网络应用程序,任何浏览器都会先下载它,第二个浏览器将无法获取该抓取信息。
在 PC 中使用 Chromium 浏览器时,我开始如下:
$ chromium-browser -kiosk "http://pbx/adminkiosk/index?language=EN&username=2002&password=1234" &
sun@sun-Alienware-X51:~$ ps aux | grep "chromium-browser"
sun 31816 0.7 1.5 613092 61384 pts/4 Sl 15:44 0:03 /usr/lib/chromium-browser/chromium-browser -kiosk http://pbx/adminkiosk/index?language=EN&username=2002&password=1234
sun 31818 0.0 0.1 264484 7248 pts/4 S 15:44 0:00 /usr/lib/chromium-browser/chromium-browser -kiosk http://pbx/adminkiosk/index?language=EN&username=2002&password=1234
sun 31819 0.0 0.0 6464 408 pts/4 S 15:44 0:00 /usr/lib/chromium-browser/chromium-browser-sandbox /usr/lib/chromium-browser/chromium-browser --type=zygote
sun 31820 0.0 0.4 281364 18012 pts/4 S 15:44 0:00 /usr/lib/chromium-browser/chromium-browser --type=zygote
sun 31824 0.0 0.1 281364 5404 pts/4 S 15:44 0:00 /usr/lib/chromium-browser/chromium-browser --type=zygote
sun 31849 1.1 2.3 1052972 91968 pts/4 Sl 15:44 0:05 /usr/lib/chromium-browser/chromium-browser --type=renderer --lang=en-US --force-fieldtrials=ForceCompositingMode/disable/InfiniteCache/No/OmniboxHQPReplaceHUPRearrangeNumComponents/Standard/OmniboxSearchSuggestTrialStarted2013Q1/5/OneClickSignIn/BlueOnWhite/Prefetch/ContentPrefetchPrefetchOff/Prerender/Prerender15minTTL/UMA-New-Install-Uniformity-Trial/Experiment/UMA-Session-Randomized-Uniformity-Trial-5-Percent/group_15/UMA-Uniformity-Trial-1-Percent/group_45/UMA-Uniformity-Trial-10-Percent/group_06/UMA-Uniformity-Trial-20-Percent/group_02/UMA-Uniformity-Trial-5-Percent/default/UMA-Uniformity-Trial-50-Percent/group_01/ --disable-gl-multisampling --disable-accelerated-2d-canvas --disable-accelerated-video-decode --channel=31816.0.281183995
sun 31981 0.0 0.0 13584 924 pts/4 S+ 15:51 0:00 grep --color=auto chromium-browser
现在,因为 2 个实例打开 2 个 url,所以爬取的数据会无平衡地传递到其他实例。因此,我的应用程序无法与 Chromium 配合使用,但可以与 Firefox/Opera 配合使用。
我怎样才能告诉 Chromium 停止这个?并且仅使用一个实例而不是两次运行该 url?
编辑:
我尝试过标志但没有运气
--process-per-site
--single-process
答案1
对于为什么会发生这种情况有很多解释。
我记得 Chromium 也会自动启动 GPU 进程(不过,不是在我的笔记本电脑上),而且由于您使用的是 Alienware,我想您的 GPU 进程正在“睡眠”,使用率为 0%,等待一些图形显示。
我建议您尝试以下标志:
--disable-gpu-process-prelaunch
--disable-software-rasterizer
禁用 GPU(和附加功能)
或这个标志:
--in-process-gpu
将其作为线程运行
你也可以尝试
process-per-tab
但似乎你已经尝试过类似的方法但没有帮助。
请报告您的发现:)