Какие действия предпринять в случае возникновения ошибки «Address already in use»?
Не закрытые соединения занимают порт, даже после завершения программы. Чаще всего операционная система закрывает их сама по себе. Можно ли это делать вручную, и какие есть способы?
Netstat
netstat отображает сетевую активность системы. Из существующих сетевых сервисов мы можем отфильтовать интересующий нас.
sudo netstat -tulpn | grep :6001 tcp 0 0 127.0.0.1:6001 0.0.0.0:* LISTEN 12345/python
Номер процесса, который занимает порт 12345. Принудительно уничтожим его:
sudo kill -9 12345
fuser
Утилита fuser находит номер процесса по порту.
fuser 6001/tcp 6001/tcp: 12345
С помощью флага -k процесс будет остановлен.
fuser -k 6001/tcp
lsof
lsof — отображает все процессы связанные с файловыми дескрипторами. С помощью флага — i можно фильтровать сетевые сокеты:
lsof -i :6001 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME python 11778 uralbash 7u IPv4 5754939 0t0 TCP localhost:http-alt (LISTEN)
Источник: logachev.pro
Как убить процесс в линукс
Как завершить принудительно программу или магический крестик в Linux/Ubuntu 12.10/12.04
Иногда бывают случаи в любой системе, когда какая-то программа «зависла», не отвечает на требования пользователя о её закрытии. В Linux/Ubuntu есть несколько вариантов завершить такую программу принудительно.
За принудительное завершение визуального процесса, а попросту говоря «зависшего» окна программы отвечает терминальная команда:
Выполните её и образовавшимся крестиком вместо курсора кликните на окне, оно тут же закроется (пример):
Назначить «горячую клавишу» с командой xkill. Откройте Параметры системы ->Клавиатура ->Комбинации клавиш ->Дополнительные комбинации и нажмите на знак плюс (+), что находится в низу (указано стрелкой):
Должно открыться окно под названием Дополнительные комбинации. Скопируйте/вставьте в поле Название — Завершить принудительно, а в поле Команда — xkill и нажмите Применить:
Теперь в окне с Дополнительными комбинациями должна появиться строка Завершить принудительно — Выключено:
Кликните на слове Выключено и нажмите одну из клавиш на клавиатуре для назначения и выполнения команды xkill. Лучше всего для этой цели подойдёт одна из клавиш (на ваш выбор) F8, F9 и т.п., которые менее задействованы:
Теперь после нажатия назначенной «горячей клавиши» и образовавшимся крестиком вместо курсора вы можете закрыть «зависшую» программу (окно).
Как убить процесс в Linux. (How to kill a process on Linux)
Создать кнопку «убийцу» на панели Unity — Завершить принудительно.
Для создания данной кнопки, необходимо выполнить следующие команды в терминале:
wget http://dl.dropbox.com/u/47950494/Force_Quit.desktop
mv Force_Quit.desktop ~/.local/share/applications/
Затем откройте меню Даш, введите с поиске force quit и перетащите значок на панель:
Теперь при помощи этого значка можно «убивать» «зависшие» окна программ. Клик на значок и появившимся крестиком вместо курсора закрыть «зависшую» программу (окно).
Опубликовано в блоге:
Linux для начинающих и не только.
Ссылка на источник compizomania
29-01-2013.
Источник: ubuntu66.ru
Принудительно закройте программу в Ubuntu
Ранее мы писали о том, как убить неотвечающую программу в Windows (см. Наш пост, Как убить программу с помощью командной строки). Если вы пользователь Ubuntu, существует аналогичный метод завершения неотвечающих программ.
История вычислител.
Please enable JavaScript
Вместо выхода из системы или перезагрузки для завершения программы, есть пара команд, которые вы можете использовать в окне терминала для уничтожения программ, которые не отвечают. Существует также графический способ уничтожения программ с помощью системного монитора .
ПРИМЕЧАНИЕ . Первые два метода работают и в других дистрибутивах Linux. Команды, используемые в этих методах, являются общими командами Linux. Системный монитор, описанный в третьем методе, относится только к среде рабочего стола Gnome, но не к Ubuntu. Если вы используете Gnome в другом дистрибутиве Linux, у вас должен быть доступ к системному монитору . В других средах рабочего стола есть аналогичные инструменты, такие как KSysGuard в KDE.
Используйте команду killall в окне терминала
Чтобы использовать команду killall для уничтожения программы, откройте окно терминала, выбрав Стандартные | Терминал из меню приложений .
ПРИМЕЧАНИЕ. Вы также можете открыть окно терминала, нажав Alt + F2, чтобы открыть диалоговое окно « Запустить приложение ». Введите « gnome-терминал » (без кавычек) в поле редактирования и нажмите « Выполнить» .
Чтобы просмотреть список запущенных процессов, введите следующий текст в приглашении и нажмите Enter .
$ ps -A
Отображается список процессов со связанными с ними PID (идентификаторами процессов). Просмотрите список, чтобы найти имя процесса, соответствующего программе, которую вы хотите уничтожить. Скорее всего, программа указана в конце списка, где отображаются последние запущенные программы. В нашем примере мы использовали Firefox как процесс для уничтожения. Процесс firefox-bin — тот, который нужно убить, с PID 5039 .
Чтобы завершить процесс, используя его PID, введите в командной строке команду « killall » (без кавычек), затем пробел, а затем соответствующий PID из сгенерированного списка. Нажмите Enter .
Уничтожение процесса с использованием его PID не всегда работает. Если это не работает для вас, вы можете использовать имя процесса, чтобы убить процесс. Для этого введите в командной строке команду « killall » (без кавычек), затем пробел, а затем соответствующее имя процесса из сгенерированного списка. Для Firefox имя процесса — firefox-bin .
ПРИМЕЧАНИЕ. Уничтожение программы по имени процесса выполняется только для исполняемых файлов (т. Е. Запускаемых программ), которые остаются открытыми во время выполнения. Программы, работающие в фоновом режиме, не могут быть уничтожены с помощью имени процесса.
Использование killall без указания сигнала в качестве параметра, как в приведенных выше примерах, позволяет программе очищаться перед завершением, используя сигнал SIGTERM по умолчанию. Если это не работает, вы можете указать сигнал –9 ( SIGKILL ). Это заставляет программу завершать работу и не позволяет ее очистить перед выполнением этого. Рекомендуется сначала попытаться убить программу без сигнала –9, чтобы дать ей возможность корректно завершить работу.
Если вам нужно использовать сигнал -9, введите его между командой killall и именем процесса (или PID) с пробелом после killall и после сигнала -9, как показано ниже.
$ killall -9 firefox-bin
ПРИМЕЧАНИЕ. До 9 — один штрих.
Чтобы закрыть окно терминала, введите exit в командной строке и нажмите Enter .
Используйте команду xkill в окне программы
Вы также можете запустить команду xkill в окне терминала. Эта команда позволяет вам убить любую программу, просто нажав на ее окно.
Чтобы использовать команду xkill, откройте окно терминала, как обсуждалось ранее в этом посте. Введите « xkill » (без кавычек) в командной строке и нажмите Enter . Курсор превращается в X. Чтобы убить программу, просто щелкните в любом месте окна программы или в строке заголовка окна.
Используйте системный монитор Gnome
Если вы используете рабочую среду Gnome, вы можете использовать графический инструмент, называемый System Monitor, чтобы убить программу. Выберите Администрирование | Системный монитор из системного меню. В новых версиях Ubuntu вам нужно будет нажать « Действия» и ввести системный монитор .
ПРИМЕЧАНИЕ. Вы также можете открыть системный монитор, нажав Alt + F2, чтобы открыть диалоговое окно « Запустить приложение ». Введите « gnome-system-monitor » (без кавычек) в поле редактирования и нажмите « Выполнить» .
В диалоговом окне « Системный монитор » перейдите на вкладку « Процессы ». Отображается список всех запущенных процессов. Чтобы убить программу, найдите процесс программы в списке ( firefox-bin для Firefox) и выберите его. Щелкните правой кнопкой мыши процесс и выберите « Kill Process» во всплывающем меню.
Откроется диалоговое окно подтверждения. Если вы уверены, что хотите удалить выбранный процесс, нажмите « Завершить процесс» .
Чтобы закрыть системный монитор, выберите « Выйти» из меню « Монитор» .
ПРИМЕЧАНИЕ. Если вам нужно убить программу, работающую с привилегиями root, используйте один из первых двух методов уничтожения программы и введите « sudo » (без кавычек) перед командой killall или командой xkill . Наслаждайтесь!
Источник: ru.gadget-info.com