用例示例:
我在运行Chromium的同时打开了两个标签,并决定在接下来的20分钟内不需要访问该应用程序。为了节省笔记本电脑的电池时间,我想休眠(冻结)Chromium,而不必关闭应用程序(重新打开并重新加载所有选项卡需要我想通过休眠来节省时间)。
您可以使用该killall
命令向SIGSTOP
与给定名称匹配的所有进程发送信号,以冻结它们,然后SIGCONT
以相同的方式再次融化它们。
首先使用pgrep -l SEARCH_PATTERN
以下命令找出进程名称:
$ pgrep -l chrom
13010 chromium-browse
13036 chromium-browse
13038 chromium-browse
13153 chromium-browse
13166 chromium-browse
13169 chromium-browse
13175 chromium-browse
13187 chromium-browse
13195 chromium-browse
13206 chromium-browse
请注意,它将修剪长名称,因此r
缺少。但这不是问题,因为您可以使用Tab完成输入过程名称,该名称将自动完成。
然后,您将SIGSTOP
信号发送到所有名称chromium-browser
如下的进程:
$ killall -s STOP chromium-browser
Chromium窗口将变灰,好像它没有响应一样。好吧,它真的变得没有反应,这是可以预料的。您现在无法以任何方式与窗口进行交互(菜单栏和最小化等除外,这是由窗口管理器而非应用程序本身来处理的)。但是单击按钮等产生的事件仍会生成并添加到应用程序的事件队列中,因此当您再次解冻应用程序时,它们将立即全部处理!
您只需运行以下命令即可将应用程序解冻,该命令会将SIGCONT
信号发送到指定的进程:
$ killall -s CONT chromium-browser
有时以这种方式冻结应用程序可能导致崩溃,因此在冻结应用程序之前,请确保已保存重要内容。
在极少数情况下,甚至台式机环境/窗口管理器/其他任何情况也可能变得无响应。在这种情况下,您必须通过TTY解冻冻结的应用程序:
按Ctrl+ Alt+F1切换到TTY1。系统将要求您登录,因此请输入您的用户名和密码。然后,以与通过普通终端模拟器运行应用程序相同的方式运行命令以解冻应用程序。之后,使用Ctrl+ Alt+切换回桌面(TTY7)F7,您应该会再好的一次。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句