如何在不关闭标签页或不终止浏览器本身的情况下终止 Chromium 58 中的标签页

如何在不关闭标签页或不终止浏览器本身的情况下终止 Chromium 58 中的标签页

在 58 之前的版本中,killall chromium-browse[r]只需关闭所有标签页,浏览器的 chrome 仍保持完整。新版本的浏览器如何复制此行为?

我所能做的最好的是以下操作,它在执行操作时也会删除扩展:

pgrep -f 'chromium-browser --type=renderer' | while read pid; do kill $pid; done

编辑上下文:我的 cgroup 限制了 Chromium 可以使用的内存量。当超出该量时,Chromium 会挂起从磁盘交换内存和将内存交换到磁盘。在此状态下,Chromium 不会响应用户输入,因此无法使用基于浏览器的选项卡控制。

为清晰起见进行编辑:关闭标签并不意味着关闭它。我想要的是标签本身保留,但渲染过程终止。这通常是通过显示“出现问题”消息而不是正常的标签内容来表示的。

答案1

好的,在您编辑之后,我尝试了您给出的命令。您说它也会破坏扩展,因此您可以排除它们,grep -v "extension"但随后您将整个过程命令作为输入。

无论如何。首先选择进程名称

pgrep -f -a 'chrome'

我使用的是 chrome,你可以改用chromium-browser-a这里的标志很重要。

然后做

| grep 'type=renderer'

获取所有渲染器。然后执行

| grep -v "extension"

要排除扩展,我们需要做

| egrep -o '^[0-9]{0,}'

仅获取进程号(因为我们必须使用-a在字符串中提供额外数据的标志)。

将其输入到你的 for 循环中

| while read pid; do kill $pid; done

并且它应该杀死没有扩展的渲染器

最后,以下是整个内容:

pgrep -f -a 'chromium-browser' | grep 'type=renderer' | grep -v "extension" | egrep -o '^[0-9]{0,}' | while read pid; do kill $pid; done

我希望我没有犯错误

答案2

Ctrl++将杀死当前选定的 chrome 窗口中的所有标签,而不会影响浏览器本身Shiftw

相关内容