Workspace Kill 释放资源

Workspace Kill 释放资源

当系统挂起且无法从一个 WS 移动到另一个 WS 时,如何终止另一个工作区的所有进程。让我描绘一下场景。

WS:工作区

在 WS1 上:通过 opera 在线网站播放歌曲。

在 WS3 上工作并进行 Skype 通话

现在我尝试移动到 ws1 (Ctrl +Alt + Shift + <=),但它不起作用

WS3 上一切都很好(甚至写了这个问题)

所以现在我想从该歌曲网站上解放耳机。

如何释放耳机(音频控制器)才能使其停止。

  1. 在工作区中的同一浏览器上打开同一网站,以便它停止(失败)

  2. 尝试 xkill 但是不起作用

  3. 插入并拔出耳机的 USB 但不起作用

请建议任何不被关闭的方法

答案1

输入alt + F2&怎么样killall opera?这将关闭 Opera 及其所有子进程。

当您重新启动它时,如果它的行为与 Firefox 类似,它将恢复并保留所有选项卡。(我不使用 Opera - 所以这一点我不确定)。

如果它拒绝死亡,就使用sudo killall -9 opera更严厉但应该可以做到的手段。

如果您知道 Opera 的播放过程,您就可以直接终止它 - 更加巧妙!

答案2

工作区是大多数窗口管理器(GNOME、KDE、LXDE、OpenBox、BusyBox 等)的抽象。不过,老实说,它们只是为了组织目的,并不反映实际进程的底层行为。我的意思是,每个进程并不与工作区进程绑定。

假设您在 GNOME 的工作区一中打开 Opera。部分进程树可能如下所示:

GNOME
  Firefox

现在,假设您切换到第二个工作区并启动 Rhythmbox:

GNOME
  Firefox
  Rhythmbox

因此,正如您所看到的,从底层进程层次结构的角度来看,没有办法区分哪些应用程序在哪个工作区中运行。此时,只有窗口管理器本身知道哪些应用程序(实际上是应用程序窗口)出现在哪个工作区中。因此,除非有办法向窗口管理器(在本例中为 GNOME)查询工作区中有哪些窗口这些窗口属于哪个进程,没有简单的方法可以做到这一点。

还有一种情况是,您可能有一个进程有两个窗口。例如,您可能有两个 Opera 窗口,每个工作区上都有一个窗口。这样做的副作用是关闭所有 Opera 窗口,即使在没有问题的工作区也是如此,因为很可能(我不确定 Opera 是否如此,但我知道 Firefox 的行为方式)两个应用程序窗口都与同一个进程绑定。因此,即使可行,也可能会有一些意想不到的后果。

所以,长话短说:不,实际上没有办法根据进程所在的工作区来终止进程。在这种情况下,我会按照@diEcho 描述的方式,切换到虚拟终端(通常是Ctrl- Alt- ),然后用命令终止有问题的进程。当然,这假设您知道哪个进程导致了问题,但情况并非总是如此。F1F6kill

对于与音频相关的特定问题,还有另一种方法可以完成此任务:(pavucontrol假设您使用的是默认的 PulseAudio,而不是 Jack、ALSA 或 OSS)。Pavucontrol 可以调整单个应用程序的音量或使其静音。因此,虽然它无法解决无法进入 WS1 并直接关闭 Opera 的问题,但它可以解决音频问题。

相关内容