1. Проверьте процесс Команда ps находит номер PID, связанный с процессом: ps a Отображает все программы текущего терминала, включая программы других пользователей. ps -A Показать все программы. ps c При перечислении программ указывайте фактическое имя команды каждой программы, не включая пути, параметры или идентификацию резидентных служб. ps -e Эффект этого параметра такой же, как и при указании параметра «А». ps e Когда программы перечислены, отображаются переменные среды, используемые каждой программой. ps f Используйте символы ASCII для отображения древовидной структуры и выражения связей между программами. ps -H Отображает древовидную структуру, показывающую взаимосвязи между программами. ps -N Отобразить все программы, кроме программ на терминале, выполняющих команду ps. ps s Статус программы отображается в формате программного сигнала. ps S При перечислении программ включайте информацию о прерванных подпрограммах. ps -t<Номер терминала> Указывает номер терминала и отображает состояние программ, принадлежащих этому терминалу. ps u Отображает состояние программы в удобном для пользователя формате. ps x Отображать все программы, независимо от терминала. Наиболее часто используемый метод — ps. aux, а затем используйте команду grep для фильтрации по конвейеру, чтобы найти конкретный процесс, а затем работать с конкретным процессом. ps aux | grep program_filter_word,ps -ef |grep tomcat ps -ef|grep java|grep -v grep Отобразите все процессы Java и удалите текущий процесс grep. 2. Убейте процесс Используйте команду kill, чтобы завершить процесс: kill xxx Часто употребляемое: убить -9 324 Linux также предоставляет команду killall, которая может напрямую использовать имя процесса вместо идентификационного номера процесса, например: # killall -9 NAME
убить процесс HUP 1 Прерывание терминала/программы в управлении INT 2 Команда вставки клавиатуры (аналогично Ctrl + C) QUIT 3 Команда прерывания клавиатуры (аналогично Ctrl + \) TERM 15 команда завершения программы KILL 9 Команда принудительного завершения программы (насильственное убийство) CONT 18 Команда перезапуска программы (STOP(19)) а затем перезапустить) STOP 19 Команда остановки программы (аналогично Ctrl + Z) Пример (1) Принудительно завершить (часто используется для уничтожения) процесса с идентификационным номером 324: #kill -9 324 (2) Разблокировать систему Linux. В Linux иногда возникает ситуация: программа вылетает и находится в тупиковом состоянии. В это время, как правило, нет необходимости перезагружать компьютер. Вам достаточно завершить (или закрыть) проблемную программу. Когда kill находится в интерфейсе X-Window, основные программы (кроме сбойной программы) обычно запускаются нормально. Теперь откройте терминал и завершите работу программы-нарушителя. Например, если программа браузера Mozilla зависает, вы можете использовать команду kill, чтобы завершить работу всех программ, включающих браузер Mozilla. Сначала используйте команду top, чтобы исследовать и разобраться с программой. PID, а затем используйте команду kill, чтобы остановить программу: #kill -SIGKILL XXX Среди них XXX — это идентификационный номер процесса программы, содержащей браузер Mozolla. (3) Используйте команды для освобождения памяти. Мы знаем, что память очень важна для системы, и переработка памяти может улучшить системные ресурсы. Команда kill может оперативно завершить работу некоторых «девиантных» программ или отсутствия соответствующих программ в течение длительного времени. Например, используйте команду top, чтобы найти бесполезный файл. (Zombie) процесс, вы можете использовать следующую команду в это время: #kill -9 XXX Среди них XXX — бесполезный идентификационный номер процесса. Затем используйте следующую команду: #free На этом этапе вы обнаружите, что доступный объем памяти увеличился. (4) команда уничтожения всех Linux также предоставляет команду killall, которая может напрямую использовать имя процесса вместо идентификационного номера процесса, например: # killall -HUP inetd *Самый безопасный способ завершить процесс — просто использовать команду kill без модификаторов и флагов. Первое использование, пс. Команда -ef определяет PID процесса, который необходимо завершить, а затем введите следующую команду: # kill -pid Примечание. Обычно помогает стандартная команда kill. Завершите проблемный процесс и освободите ресурсы процесса в системе. Однако если процесс запускает дочерний процесс и уничтожает только родительский процесс, дочерний процесс все еще работает и, следовательно, продолжает потреблять ресурсы. Чтобы предотвратить эти так называемые «процессы-зомби», убедитесь, что вы уничтожили все дочерние процессы, прежде чем убивать родительский процесс. * Определите PID или PPID процесса, который необходимо завершить. # ps -ef | grep httpd * Завершите процесс изящно # kill -l PID Опция -l указывает команде kill завершить процесс, как если бы пользователь, запустивший процесс, вышел из системы. При использовании этой опции команда kill также пытается уничтожить все оставшиеся дочерние процессы. Но эта команда не всегда выполняется успешно — вам все равно может потребоваться сначала вручную завершить дочерний процесс, а затем родительский процесс. *сигнал TERM Отправляет сигнал TERM родительскому процессу в попытке завершить его и его дочерние процессы. # kill -TERM PPID *команда killall Команда killall убивает все процессы в одной группе процессов. Это позволяет указать имя завершаемого процесса вместо PID. # killall httpd * Остановка и перезапуск процессов Иногда вам просто хочется просто остановить и перезапустить процесс. следующее: # kill -HUP PID Эта команда приводит к корректному завершению процесса выполнения Linux и немедленному перезапуску. *Убийство kill -9 PID Соглашаться kill -s SIGKILL 。 3. Введите путь, по которому находится исполняемый файл процесса, и запустите файл ./имя файла