Как да убием десктоп приложение или фонов процес на Linux
Windows има Ctrl + Alt + Delete и Mac-овете имат Command + Option + Escape, за да принудят затворените приложения да се затварят. Линукс има свои собствени начини за „убиване“ на тези лоши процеси, независимо дали са графични прозорци или фонови процеси.
Точните графични инструменти, които можете да използвате, ще зависят от работната среда на вашия десктоп, тъй като всяка работна среда на работния плот носи различни инструменти в таблицата. Но повечето от тях са доста сходни.
От графичен работен плот
Съвременните десктопи на Linux се справят с това доста добре и могат да бъдат изненадващо автоматични. Ако дадено приложение не реагира, работният плот с мениджър на състава често ще сиви целия прозорец, за да покаже, че не отговаря.
Кликнете върху бутона X в заглавната лента на прозореца и мениджърът на прозорците често ще ви информира, че прозорецът не отговаря. Можете да му дадете известно време, за да отговорите или да кликнете върху опция като „Force Quit“, за да затворите приложенията.
В Linux, мениджърът на прозорци, който рисува заглавните ленти, е отделен от самото приложение, така че обикновено отговаря дори ако прозорецът няма. Някои прозорци обаче рисуват свои собствени интерфейси, така че това не винаги работи.
Приложението "xkill" може да ви помогне бързо да убиете всеки графичен прозорец на вашия работен плот.
В зависимост от обкръжението на компютъра и неговата конфигурация, може да можете да активирате този пряк път, като натиснете Ctrl + Alt + Esc. Можете също да стартирате командата xkill - можете да отворите прозорец на терминала, да въведете xkill без кавичките и натиснете Enter. Или можете да натиснете клавишна комбинация като Alt + F2, която отваря диалоговия прозорец "Run Command" на работния плот на Unity на Ubuntu и много други. Тип xkill в диалоговия прозорец и натиснете Enter.
Курсорът ви ще се промени на X. Щракнете върху прозорец и помощната програма xkill ще определи кой процес е свързан с този прозорец и след това незабавно ще го убие. Прозорецът веднага ще изчезне и ще се затвори.
Вашият работен плот на Linux вероятно има инструмент, който работи подобно на Task Manager в Windows. На десктоп Unity на работния плот на Ubuntu, GNOME и други базирани на GNOME десктопи това е помощната програма за системния монитор. Отворете помощната програма System Monitor, за да видите списък на изпълняваните програми, включително и за фон. Можете също така насилствено да убивате процеси оттук, ако те се държат неправилно.
От терминала
Да речем, че искате да направите всичко това от терминала. Обхванахме много от помощните програми, които можете да използвате за това, когато разглеждахме команди за управление на процеси в Linux.
Да кажем, че Firefox работи във фонов режим и ние искаме да го убием от терминала. Стандартната команда kill взема идентификационен номер на процеса, така че първо трябва да го намерите.
Например можете да изпълните команда като:
ps aux | grep firefox
Кой би изброил всички процеси и тръби този списък до командата grep, която ще филтрира и отпечата само линии, съдържащи Firefox. (Вторият ред, който ще видите, е процесът на grep.) Можете също така да получите идентификатора на процеса от най-горната команда и много други места.
Вземете идентификационния номер на процеса от процеса на Firefox - точно вдясно от потребителското име - и го предоставете на командата kill. Това означава, че изпълнете командата така:
убие ####
Ако процесът се изпълнява като друг потребител, първо трябва да станете потребител на root - или поне да изпълните командата kill с командата sudo, така:
sudo kill ####
Това е основен метод, но не е най-бързият. Командите pgrep и pkill помагат за оптимизиране на това. Например, изпълнете “pgrep firefox”, за да видите идентификатора на процеса на текущия процес на Firefox. След това можете да въведете този номер в командата kill.
Или пропуснете всичко това и пуснете “pkill firefox”, за да убиете процеса на Firefox, без да знаете неговия номер. pkill изпълнява някои основни шаблони за съвпадение - ще се опита да намери процеси с имена, съдържащи firefox.
Командата killall е като pkill, но малко по-прецизна. Ще убие всички работещи процеси с определено име. Така че стартирането на "killall firefox" ще убие всички работещи процеси, наречени "firefox", но не и процеси, които имат имената на firefox в техните имена..
Те далеч не са единствените команди, включени в Linux за управление на процеси. Ако използвате някакъв вид софтуер за администриране на сървъри, той може да има и полезни начини за убиване и рестартиране на процеси.
Системните услуги работят различно от процесите - трябва да използвате специфични команди, за да сваляте, рестартирате или извеждате услуги. Тези специфични команди могат да бъдат различни при различните дистрибуции на Linux.
Снимка: Лий на Flickr