Показать статистику
0 голосов
от (400 баллов)
Вопрос к знатокам: подскажите пожалуйста, как можно убить нужный процесс в Линукс? Часто вообще могут зависать программы, учитывая, что по некоторым высказываниям Линукс намного стабильнее Виндоуз или проще перезагрузить компьютер?
403 просмотров 2 ответов
от (770 баллов)
0
У вас вопрос по какому то конкретному приложению? Или вы спрашиваете "в общем и целом" ? Можем разобрать ваш конкретный случай. Например, если приложение оставляет core-файл, можно проанализировать причину зависания через gdb
от (600 баллов)
0
Для этого нужно знать PID зависшего процесса для начала. Это так называемый идентификатор, который присваивается каждому процессу, что работает в системе.

Вам для начала нужно вывести все активные процессы при помощи ps.

Через greb можно найти нужный процесс.

Будет что-то типа этого

ps axu | grep gcalctool

2 Ответы

0 голосов
от (700 баллов)
Убить этот процесс можно при помощи команды Kill, но учтите, что вы можете убивать только свои процессы, а процессы других пользователей не сможете установить. Системный процессы тоже невозможно будет убить. если вы не являетесь суперпользователем.
0 голосов
от (17.4тыс. баллов)

man kill расскажет вам о сигналах, которые вы можете послать процессу.

Наиболее распространенные - это сигнал 15 (корректное завершение) и сигнал 9 (безусловное завершение)

"Корректное завершение" позволит процессу сохранить данные (синхронизировать буферы с жестким диском) и "умереть спокойно" :)

sudo kill -15 pid-vashego-processa

Если процесс вообще не отвечает и нет риска потери данных (т.е. это не процесс базы данных или другого чувствительного сервиса), то можно прибить вот так:

sudo kill -9 pid-vashego-processa

Если вы хотите прибить процесс по имени, то используйте pkill или killall:

sudo pkill -15 imya_vashego_processa

Что касается "зависания" программ в Linux, то некачественный софт работает плохо как под виндой, так и под любой другой системой. Архитектура (Linux или винда) не определяет стабильность работы программы. 

...