Вы можете использовать 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. Вам будет предложено войти в систему, поэтому введите свое имя пользователя и пароль. Затем выполните команду, чтобы разморозить приложение так же, как вы запускаете его через обычный эмулятор терминала. После этого переключитесь обратно на рабочий стол (TTY7) с помощью Ctrl+ Alt+, F7и у вас все будет хорошо.