Иногда случается, что программа перестала реагировать на наши действия и даже закрываться не хочет и тогда нам приходиться лезть в системный монитор и принудительно убивать процесс. Лёгкий гуглинг не подсказал мне нечего хорошего и я решил накатать простенький скрипт на bash для закрытия зависших программ в одно нажатие.
Обычно в ubuntu если несколько раз быстро нажать на крестик зависшей программы, то система сама предложит убить процесс. Но я столкнулся с 2-мя случаями, когда это не помогает:
1. Апплет radio-tray. Иногда он перестаёт реагировать на большинство нажатий, включая кнопку выход. Но «О программе» открывает. Этого достаточно для скрипта.
2. 1 раз из 20 после выхода из teeworlds(я играю на втором x сервере) кроме черного экрана ничего не видно. Приходиться заходить в консоль (Cntrl+Alt+F1) и через htop убивать терминал с игрой.
Поэтому я и решил накатать простенький скрипт.
Для его работы нам понадобится установленный пакет xdotool. Он есть в репозиториях практически всех дистрибутивов, а значит установить его будет не проблема. Например в ubuntu это команда:
sudo apt-get install xdotool
Затем создаём файл для скрипта, желательно в специальной папке:
mkdir ~/bin
gedit ~/bin/kill
И вставляем следующий текст:
#!/bin/bash
gw=`xdotool getactivewindow`
gp=`xdotool getwindowpid $gw`
kill -9 $gp
Сохраняем и делаем файл исполняемым:
chmod +x ~/bin/kill
Осталось только привязать скрипт к клавише на клавиатуре.
Теперь достаточно нажать забитую клавишу и активное окно умрёт.
А за автоматизацию спасибо! :)
*Кстати в System Monitor есть варианты: End Process, Kill Process. В чем разница?
Я человек очень ленивый и лезть в системный монитор, а потом ещё искать процесс в нём… не, лучше нажать одну кнопку :)
Спасибо, на самом деле очень полезная «штука».
[…] на клавишу клавиатуры. Как это сделать можно почитать здесь, внизу […]