Как остановить программу в линукс в терминале

Если вы новый пользователь Linux, то вам требуется знать. Как убить (завершить) процесс в Linux, используя параметры командной строки? Как я могу убить запущенный процесс на Unix?

Linux и другие Unix — подобные операционные системы поставляются с командой kill. Данная команда позволяет завершить зависшие или нежелательные процессы без необходимости выхода из системы или перезапуска сервера или ПК.

Команда kill посылает заданный сигнал, например, KILL process, указанному процессу или группе процессов. Если сигнал не указан, посылается сигнал TERM. Обратите внимание, что команда kill может быть внутренней, как часть встроенной функции оболочки. Или внешней, расположенной по адресу /bin/kill. Синтаксис остаётся аналогичным независимо от того, какая команда внутренняя или внешняя.

Возможно вам будет интересно: Как обновить openSUSE Linux

Список распространенных сигналов TERM в Linux или Unix

Linux и Unix-подобные операционные системы поддерживают стандартные сигналы завершения, они перечисленные ниже:

Как свернуть программу в консольном Linux? Работаем с процессами в Linux — jobs, fg, bg

SIGHUP (1) — обнаружено зависание на управляющем терминале или смерть управляющего процесса. Используйте SIGHUP для перезагрузки файлов конфигурации и открытия/закрытия файлов журнала.

SIGKILL (9) — это сигнал убийства. Используйте SIGKILL в качестве последнего средства для уничтожения процесса. Он не сохранит данные и не очистит процесс.

SIGTERM (15) — сигнал завершения. Это стандартный и самый безопасный способ завершения процесса.

Команды kill и killall поддерживают более 60 сигналов. Однако большинству пользователей необходимо использовать только сигнал 9 или 15. Чтобы получить полный список сигналов, введите:

Команда Kill информация по команде

Возможно вам будет интересно: Включить SSH на Fedora

Что такое PID?

Процесс в Linux или Unix — это запущенный экземпляр программы. Например, Firefox — это запущенный процесс, если вы просматриваете Интернет. Каждый раз, когда вы запускаете браузер Firefox в системе автоматически присваивается уникальный идентификационный номер процесса (PID). PID автоматически присваивается каждому процессу при его создании в системе. Чтобы узнать PID процесса firefox или httpd, используйте следующую команду pidof:

pidof httpd
pidof apache2
pidof firefox

Или используйте комбинацию команды ps и команды grep/egrep:

ps aux | grep httpd
ps aux | grep apache2
ps aux | grep firefox

Найдите идентификатор процесса (PID) запущенной программы firefox и сервера apache2.

Возможно вам будет интересно: Как подключиться к удаленной базе данных через SSH — туннель в pgAdmin4 и DBeaver

Приёмы и хитрости в терминале GNU/Linux

Команда pgrep

Вы также можете использовать команду pgrep для поиска идентификатора процесса (PID):

pgrep process
pgrep firefox
pgrep vim

Команда PS для просмотра процессов Linux

Вы можете найти уникальный номер процесса с помощью команды PS в разделе PID

Определение процесса в Linux

Как убить процесс в Linux из командной строки

kill -[signal] PID
kill -15 PID
kill -9 PID
kill -SIGTERM PID
kill [options] -SIGTERM PID

Возможно вам будет интересно: Как установить плагины Vim в Linux

Какие разрешения Linux или Unix нужны, чтобы убить процесс?

Правила убийства процесса просты:

  1. Вы можете убить все свои собственные процессы.
  2. Толькопользователь root может убить процесс системного уровня.
  3. Только пользователь root может убить процесс, запущенный другими пользователями.

Примеры команд kill для завершения процесса в Linux

В этом примере я собираюсь убить серверный процесс lighttpd.

Шаг 1 — Узнайте PID (идентификатор процесса) lighttpd

Чтобы узнать PID любой программы, используйте команду ps или pidof. Например, если имя процесса — lighttpd, вы можете использовать любую из следующих команд для получения идентификатора процесса:

Примерный ответ терминала:

Или такой ответ:

lighttpd 3486 0.0 0.1 4248 1432 ? S Jul31 0:00 /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf

lighttpd 3492 0.0 0.5 13752 3936 ? Ss Jul31 0:00 /usr/bin/php5-cg

Шаг 2 — убить процесс с помощью PID

Процессу lighttpd присвоен PID # 3486. Чтобы убить процесс lighttpd, требуется передать PID следующим образом:

Эта команда приведет к завершению процесса с PID 3486.

Шаг 3 — Как узнать, что процесс завершен / убит

Опять используйте команду ps или команду pidof, ну или команду pgrep следующим образом:

$ ps aux | grep lighttpd
$ pidof lighttpd
$ pgrep lighttpd

На экране не должно быть никакого вывода или PID.

Замечание об отправке более сильного сигнала # 9 (SIGKILL).

Если в команде kill не указан сигнал, по умолчанию посылается сигнал # 15 (SIGTERM). Таким образом, команда kill 3486 аналогична следующей команде:

$ sudo kill -15 3486
$ sudo kill -SIGTERM 3486

В некоторых случаях сигнала # 15 недостаточно. Например, lighttpd может не быть убит сигналом # 15 из-за открытых сокетов. Поэтому процесс (PID) # 3486 надо убить мощным сигналом # 9:

$ sudo kill -9 3486
$ sudo kill -SIGKILL 3486

Где -9 или -SIGKILL — это специальный сигнал kill, который почти гарантированно убивает процесс железным кулаком.

Как убить два или более PID в Linux?

Для того чтобы убить два или более PID, можно использовать одну команду:

kill pid1 pid2 pid3

kill -15 pid1 pid2 pid3

kill -9 pid1 pid2 pid3

kill -9 3546 5557 4242

Возможно вам будет интересно: Установка PostgreSQL в Ubuntu 20.04

Команда killall

killall — это команда только для Linux. Она может быть доступна во FreeBSD и других Unix-подобных системах, таких как macOS, для уничтожения процессов по имени. Поэтому нет необходимости искать PID с помощью команд «pidof process» или «ps aux | grep process». Синтаксис команды следующий:

Например чтобы убить процесс на сервере lighttpd, введите:

Например чтоб завершить процесс веб-браузера Firefox, введите:

Внимание: Не используйте команду killall в операционных системах Solaris Unix.

Заключение

В этой стате мы показали как посмотреть и убить процесс из командной строки в Linux и Unix-подобных операционных системах. Как я уже говорил, команда killall в UNIX-подобных системах делает кое-что еще. Она убивает все процессы, а не только определенный процесс. Не используйте killall в Solaris.

Читайте также:
Не удаляется файл с компьютера программа

Источник: setiwik.ru

Команда kill в Unix/Linux

Сигналы — программные прерывания. Они используются для связи между процессами в UNIX и UNIX-подобных операционных систем, таких как Linux, Mac OS.

Сигналы использовались еще с Bell Labs UNIX в 1970 и сегодня официально определено стандартом POSIX. Когда сигнал поступает на процесс, операционная система прерывает нормальный поток выполнения процесса и обеспечивает уведомление.

Не имеет значения, какую операционную систему вы используете, вы несомненно столкнетесь с тем что ваши приложения, блокируются и отказаться работать должным образом. В Unix, Linux, есть команда «kill», которую вы можете использовать, чтобы прекратить процесс немедленно, но и не только это, но об этом немного позже я расскажу. В этой статье «Команда kill в Unix/Linux» я расскажу и покажу на готовых примерах различные команды утилиты kill.

Команды kill и сигналы

Когда вы выполняете команду «kill», вы на самом деле посылает е сигнал к системе и даете указание расторгнуть работу некорректной роботы приложения. Существует в общей сложности 60 сигналов, которые можно использовать, но все, что вы действительно должны знать, SIGTERM (15) и SIGKILL (9).

Вы можете просмотреть все сигналы с помощью команды:

# kill -l

kill -l на macos

kill -l на macos

kill -l на centos

kill -l на centos

kill -l на Debian

kill -l на Debian

Я постараюсь рассказать о всех сигналах, но для самого начала поговорим только о самых важных и часто использующихся.

Основные сигналы

Следующие сигналы являются частью стандарта POSIX. Каждый сигнал макрос, определенный в Файл заголовка системы. Они, как правило, сокращенны, без их SIG- префикса; например SIGHUP часто называют просто как HUP.

SIGTERM – Этот сигнал запрашивает остановку процесса который работает. Этот сигнал может быть проигнорирован.Процессу дается время, чтобы хорошо выключился. Когда программа хорошо выключается, это означает, что ей дано время, чтобы спасти его прогресс и освободить ресурсы. Другими словами, он не «forced» прекращение работы процесса.

SIGKILL – сигнал SIGKILL заставляет процесс прекратить выполнение своей работы немедленно. Программа не может игнорировать этот сигнал. Несохраненный прогресс будет потерян.

Синтаксис для «kill».

Синтаксис команды такой:

# kill [signal or option] PID(s)
# kill [-s] [-l] %pid

Сигнал по умолчанию (если он не указан) является SIGTERM. Когда данный сигнал не помогает и не работает, вы можете использовать следующие опции для «kill» чтобы завершить процесс принудительно:

# kill SIGKILL PID
# kill -9 PID

где «-9» — это флаг относится к сигналу SIGKILL.

Если вы не знаете какой нужно использовать PID приложения которого следует избавиться, то запустите команду:

$ ps -aux

А если знаете конкретное приложение (например apache), то можно отсеять ненужное и вывести все процессы по данной службе:

$ ps -aux | grep apache

И это отобразит все запущенные приложения вместе с его PID-ом(ами).

Например, чтобы убить приложение, я выполните следующую команду:

# kill -9 3629

Стоит также отметить, что вы можете использовать несколько процессов одновременно чтобы их можно было » убить»:

# kill -9 PID1 PID2 PID 3

Перезагурзить конфигурационные файлы или перезапуск утилит:

# kill -1 number_of_PID

Особенно полезными сигналы включают HUP, INT, kill, STOP, CONT, и 0.

-s signal_name
Символическое имя сигнала, задающее сигнал для отправки сигнала не по умолчанию.

-l [exit_status]
Если операнд не указан, то показать имена сигналов; В противном случае, написать название сигнала, соответствующего exit_status.

-signal_name
Символическое имя сигнала, задающее сигнал для отправки в TERM по умолчанию.

-signal_number
Неотрицательное десятичное целое, задающее сигнал для отправки в TERM по умолчанию.

Следующие PID-ы, имеют особое значение:
-1 Если суперпользователь, то транслирует сигнал всем процессам; в противном случае вещает на все процессыbelong-
ing для пользователя.

Некоторые из наиболее часто используемых сигналов:

  • 1 HUP (hang up) — повесить.
  • 2 INT (interrupt) — прерывание.
  • 3 QUIT (quit) — выход.
  • 6 ABRT (abort) — прерывания.
  • 9 KILL (non-catchable, non-ignorable kill)
  • 14 ALRM (alarm clock) — будильник.
  • 15 TERM (software termination signal) — Программное обеспечение для прекращения сигнала.

PKill

Команда «pkill» позволяет использовать расширенные шаблоны регулярных выражений и других критериев соответствия. Вместо того чтобы использовать PID, теперь вы можете убить приложение, введя имя процесса. Например, чтобы убитьбраузер Firefox , просто запустите команду:

# pkill Firefox

Так как он соответствует шаблону регулярного выражения, вы также можете ввести часть имени процесса, например:

# pkill fire

Чтобы избежать «убийства» неправильных процессов, вы можете сделать «pgrep -l [имя_процесса]» в список подходящих процессов.

pgrep -l

Pkill команда имеет гораздо больше вариантов, например если указать опцию «-u», то она позволит вам указать имя пользователя или ID. В этом примере мы посылаем сигнал TERM всем процессам, принадлежащие пользователю ‘nobody’:

# pkill -u nobody

Killall

Killall использует имя процесса, а вместо PID, и он «убивает» все экземпляры процесса с тем же именем. Например, если вы используете несколько экземпляров браузера Firefox, вы можете убить их всех с помощью команды:

# killall firefox

В Gnome, вы можете перезапустить Nautilus с помощью команды:

# killall nautilus

xkill

Xkill является графическим способом «убить» приложение. При вводе «XKill» в терминале, курсор мыши будет немедленно стать «крест». Все, что вам нужно сделать, это нажать «крест» на провинившихся приложение и он убьет приложение мгновенно. Если вы заинтересованы, вы можете добавить сочетание клавиш для включения функции XKill.

Еще сигналы которые используются

SIGABRT

Этот сигнал посылает сигнал процессу, чтобы прервать операцию. ABRT как правило, направлен на сам процесс, когда он вызывает функцию abort() языка программирования С, чтобы сигнализировать аварийное завершение, но он может быть направлен из любого процесса, как и любой другой сигнал.

SIGALRM, SIGVTALRM и SIGPROF

ALRM, VTALRM и / или сигнал PROF отправляется процессу, когда лимит времени, указанный при вызове функции сигнализации (например, setitimer) истекает.

ALRM

Посылается, когда настоящее время или часы с течением времени.

VTALRM

Посылается, когда процессорное время, используемое в процессе истечет.

PROF

Посылается, когда процессорное время, используемое процессом и системы от имени процесса истекает.

Читайте также:
Программа слива воды из посудомоечной машины электролюкс

SIGBUS

BUS сигнал посылает процессу, когда это приводит к ошибке шины. Условия, которые приводят к данному сигналу, например, неправильное выравнивание доступа к памяти или отсутствие физического адреса.

SIGCHLD

Сигнал CHLD отправляет процессу, когда дочерний процесс завершается, прерывается или возобновляется после прерывания. Один из распространенного использование сигнала — это дать сигнал ОС на очистку ресурсов, которые используются в процессе дочернего процесса после его окончания без явного системного вызова.

SIGCONT

Сигнал CONT инструктирует операционную систему, и дает сигнал перезапустить процесс который ранее был приостановлен в режиме СТОП или сигнала TSTP. Одной из важных особенностей этого сигнала является контроль работы в оболочке Unix.

SIGFPE

Сигнал FPE посылает процессу, когда он выполняет ошибочное, арифметические срабатывания, например, такие как деление на ноль.

SIGHUP

Сигнал HUP посылает процессу, когда его управляющий терминал закрыт. Первоначально он был разработан, чтобы уведомить процесс после последовательного падения линии (HUP ответственный за «зависания»). В современных системах, этот сигнал обычно означает, что контроль псевдо или виртуальным терминалом был закрыт.

SIGILL

ILL сигнал, посылаемый процессу при попытке выполнить вредоносные, неизвестные или привилегированные команды (инструкции).

SIGINT

Сигнал INT посылает процессу от управляющего терминала, когда пользователь желает прервать процесс. Это как правило, инициируется нажатием Control-C, но на некоторых системах, «delete» или «break».

SIGKILL

Сигнал KILL посылает процессу чтобы он немедленно прекратил работу. В отличие от SIGTERM и SIGINT этот сигнал не может быть захвачен или проигнорирован и принимающий процесс не может выполнить какие-либо очистку после получения этого сигнала.

SIGPIPE

Сигнал PIPE посылается процессу, когда он пытается записать в трубе без процесса, подключенного к другому концу.

SIGQUIT

QUIT сигнал посылается процессу от его управляющего терминала, когда пользователь запрашивает процесс выполнения дампа.

SIGSEGV

Сигнал SEGV отправляется в процесс, когда он делает недопустимую ссылку виртуальной памяти или сбой сегментации, то есть когда он выполняет нарушение сегментации.

SIGSTOP

STOP сигнал указывает ОС, чтобы остановить процесс для последующего возобновления.

SIGTERM

Сигнал TERM посылается в процесс чтобы запросить о его прекращении. В отличие от сигнала «kill», он может быть и интерпретируемым или игнорируемым в процессе. Это позволяет процессу выполнять «nice» выполнение для прекращения высвобождения ресурсов и сохранения состояния в случае необходимости. Следует отметить, что SIGINT почти идентичен SIGTERM.

SIGTSTP

Сигнал TSTP посылается в процесс его управляющего терминала и говорит ему, что нужно временно приостановить. Это обычно инициируется пользователем нажатием Control-Z. В отличие от SIGSTOP, этот процесс может зарегистрировать обработчик сигнала или чтобы игнорировать сигнал.

SIGTTIN и SIGTTOU

В TTIN и TTOU сигналы посылаются процессу, когда он пытается прочитать или записать соответственно с (tty) терминала на заднем плане. Как правило, этот сигнал может быть получен только с помощью процессов находящихся под контролем рабочей панели; демоны не имеют управляющие терминалы и никогда не должны получать этот сигнал.

SIGUSR1 и SIGUSR2

Сигналы USR1 и USR2 отправляются процессу и указывают определенные пользователем условия.

SIGPOLL

Сигнал POLL отправляется в процессе, когда происходит асинхронное событие ввода / вывода.

SIGSYS

Сигнал SYS отправляется в процессе, когда он пропускает плохой аргумент для системного вызова.

SIGTRAP

TRAP сигнал посылает процессу когда возникает состояние что отладчик просил быть информированным — Например, когда конкретная функция выполняется или когда меняется определенное значение переменной.

SIGURG

Сигнал URG отправляется процессу, когда socket имеет срочные или вне диапазона данных, доступных для чтения.

SIGXCPU

Сигнал XCPU отправляется в процессе, когда он использует центральный процессор в течение времени превышающего определенное заданное значение, установленным пользователем. Прибытие сигнала XCPU обеспечивает процессу быстро сохранить все промежуточные результаты и завершиться хорошо, прежде чем он завершиться операционной системы с помощью сигнала SIGKILL.

SIGXFSZ

Сигнал XFSZ отправляется в процессе, когда файл вырастает (превышает заданное значение), чем максимально допустимое значение.

SIGRTMIN to SIGRTMAX

Сигналы RTMIN — RTMAX предназначены для использования в пользовательских целей. Они сигналы реального времени.

Разные сигналы

Следующие сигналы не стандартизированы POSIX, но иногда используются на некоторых системах.

SIGEMT

Сигнал ЕМТ отправляется в процессе, когда происходит прерывание эмулятора.

SIGINFO

Сигнал INFO отправляется в процессе, когда запрос статуса получен от управляющего терминала.

SIGPWR

Сигнал PWR отправляется в процессе, когда система испытывает сбой питания.

SIGLOST

LOST сигнал посылается к процессу, когда «file lock» теряется.

SIGWINCH

Сигнал WINCH отправляется в процессе, когда его управляющий терминал меняет свой размер.

Отправка сигналов с клавиатуры

Сигналы могут быть отправлены с клавиатуры. Несколько стандартных значений по умолчанию перечислены ниже. По умолчанию сочетания клавиш для отправки сигналов прерывания может быть определен с помощью команды stty.

CTRL-C

Отправить SIGINT (прерывание). По умолчанию это вызывает процесс прекращается.

CTRL-Z

Отправить SIGTSTP (Suspend). По умолчанию это вызывает процесс приостановить все операции.

CTRL-

Отправить SIGQUIT (Quit). По умолчанию это вызывает процесс прекратить немедленно и сбросить ядро.

CTRL-T

Отправить SIGINFO (INFO). По умолчанию это заставляет операционную систему отображать информацию о команде. Не поддерживается на всех системах.

вывод

Когда приложения ведут себя неправильно и вызвают к зависанию системы, это очень заманчиво, чтобы перезагрузить компьютер и начать сеанс снова и снова. С помощью этих команд «kill», вы сможете лучше управлять плохим поведением приложений которые вызывают или могут вызвать крах системы. На этом, я завершаю данную тему «Команда kill в Unix/Linux».

Источник: linux-notes.org

Как убить процессы из терминала Linux

toadmin.ru

Иногда единственный способ избавиться от процесса — это убить процесс. Несмотря на резкое название, «убить» процесс означает просто «заставить его завершить работу». Вот как это сделать из командной строки Linux или macOS.

Что такое процесс?

Запуск программ, таких как ваш веб-браузер, фоновые процессы, связанные со средой вашего рабочего стола, и системные службы Linux — все это процессы.

Вы можете разделить процессы на две группы:

Процессы переднего плана — это процессы, которые были запущены или запущены пользователем. Они могут быть в окне терминала или в графическом приложении.
Фоновые процессы — это все процессы, которые запускаются автоматически и не взаимодействуют с пользователями. Они не ожидают ввода от пользователей и не представляют им результатов или вывода. Фоновые процессы — это такие вещи, как службы и демоны.

Читайте также:
Почему не запускаются все программы

Если процессы переднего плана находятся на переднем плане персонала театра и актеров, то фоновые процессы — это закулисная команда «за кадром».

Когда процессы ведут себя неправильно или работают со сбоями, они могут потреблять слишком много времени процессора, потреблять вашу оперативную память или входить в жесткий вычислительный цикл и перестать отвечать. Графические приложения могут отказываться реагировать на щелчки мышью. Приложения терминала могут никогда не вернуть вас в командную строку.

Гуманный ответ

«Убить» процесс означает просто «заставить его завершить работу». Это может быть необходимо, если процесс отказывается отвечать.

Linux предоставляет команды kill, pkill и killall, которые позволяют вам делать именно это. Эти команды могут использоваться с любым типом процесса, графическим или командной строкой, передним или задним планом.

Как настроить темы Numix в Linux с помощью OOMOX

Команда kill

Чтобы использовать kill, вы должны знать идентификатор (PID) процесса, который вы хотите завершить. Команду ps можно использовать для поиска PID процесса.

Чтобы ps выполнял поиск по всем процессам, используйте параметр -e (все процессы). Желательно пропускать вывод через less, его будет довольно много. Введите ps, пробел, -e, пробел, | (вертикальная черта), еще один пробел, а затем введите меньше. Нажмите Enter, чтобы выполнить команду.

ps -e | less

Это даст вам список процессов, похожий на скриншот ниже. Вы можете искать вперед меньше, используя клавишу /, и вы можете искать назад, используя? ключ.

вывод ps в меньшем окне

Чтобы сосредоточиться на интересующем вас процессе, направьте вывод ps через grep и укажите имя — или часть имени — процесса.

ps -e | grep shutter

команда ps, передаваемая через grep, чтобы найти процесс затвора

Как только вы определите PID процесса, который хотите завершить, передайте его команде kill в качестве параметра. Чтобы завершить процесс заслонки, указанный в предыдущей команде, используйте эту команду:

kill 2099

команда kill в окне терминала

Команда kill — это тихий убийца — она ​​не дает никакой обратной связи, если она была успешной.

Команда pkill

Команда pkill позволяет убить процесс — или процессы — по имени. Идентифицировать процесс по PID не нужно. Чтобы использовать pkill, вы указываете поисковый запрос, который pkill использует для проверки списка запущенных процессов. Процессы сопоставления прекращаются. Таким образом, вы должны быть уверены, что этот поисковый запрос написан правильно.

В качестве подстраховки вы можете использовать команду pgrep перед использованием команды pkill. Команда pgrep также принимает поисковый запрос. Он будет перечислять PID каждого процесса, который соответствует поисковому запросу.

Это безопасно, потому что pgrep не будет выдавать никаких сигналов об уничтожении для процессов, и если вы неправильно введете поисковый запрос, вы не убьете по ошибке другой процесс. Вы можете убедиться, что вы правильно продумали поисковый запрос, прежде чем передавать его в pkill. И pkill, и pgrep обрабатывают поисковый запрос одинаково. Их обращение настолько похоже, что они использовать одну и ту же страницу руководства.

Как установить сетевую синхронизацию времени в Linux

Предположим, есть процесс, в названии которого есть «subq». Мы будем использовать ps -u dave | grep, чтобы заглянуть за занавес. Вы можете видеть, что «subq» будет соответствовать этому процессу и только этому процессу. Это было сделано для того, чтобы вы могли видеть полное название процесса.

ps -u dave | grep subq

команда ps в окне терминала

Предположим, наш пользователь этого не делал; все, что они знают, — это то, что имя процесса содержит подстроку «subq». Они используют pgrep, чтобы проверить, есть ли только одно соответствие поисковому запросу. Затем они используют этот поисковый запрос с помощью pkill.

pgrep subq
pkill subq

pgrep и pkill в окне терминала

Вы можете использовать pkill, чтобы убить сразу несколько процессов. Здесь пользователь запускает pgrep, чтобы проверить, сколько процессов запущено Chrome. Они используют pkill, чтобы убить их всех. Затем они проверяют с помощью pgrep, что все они были удалены.

pgrep chrome
pkill chrome
pgrep chrome

pgrep и pkill в окне терминала

Если запущено несколько процессов с одним и тем же именем, но вы не хотите уничтожать их все, вы можете использовать pgrep с параметром -f (командная строка), чтобы определить, какой процесс является каким. Простым примером могут быть два процесса проверки связи. Вы хотите убить одного из них, а другого нет. Вы можете использовать их командные строки, чтобы различать их. Обратите внимание на использование кавычек для заключения параметра командной строки.

pgrep -f «ping 192.168.4.22»
pkill -f «ping 192.168.4.22»

pgrep pkill с командной строкой ping

Команда killall

Предупреждение: В операционных системах Solaris и OpenIndiana команда killall уничтожит все процессы, которые принадлежат вам. Если вы являетесь пользователем root или если вы выполнили sudo killall, вы перезагрузите свой компьютер! В ходе исследования для этой статьи это поведение было подтверждено в последней версии OpenIndiana Hipster 2018.10.

Как использовать Synapse для легкого запуска программ в Linux

Команда killall действует аналогичным образом команде pkill, но с определенной разницей. Вместо того чтобы передавать команде поисковый запрос, вы должны указать точное имя процесса.

Вы не можете предоставить частичное совпадение с именем процесса; вы должны предоставить полное имя процесса, как показано:

killall shutt
killall shutter

команда killall в окне терминала

Параметр -y (моложе чем) позволяет вам завершить процессы, которые выполнялись менее указанного периода. Период указывается цифрами, за которым следует одна из следующих единиц:

s (секунды)
м (минуты)
ч (часы)
d (дни)
w (недели)
M (месяцы, примечание, заглавная буква «M»)
y (лет)

Чтобы убить только что запущенный процесс с именем ana и оставить работающими все более старые экземпляры ana, вы можете использовать следующие параметры с killall, если отреагируете в течение двух минут:

killall -y 2m ana

killall с опцией моложе чем

Параметр -o (старше) позволяет вам завершить процессы, которые выполнялись дольше указанного периода. Эта команда уничтожит все ssh-соединения, которые были запущены дольше суток:

killall -o 1d sshd

команда killall в окне терминала

Не будьте слишком счастливы

Эти команды позволят вам правильно и точно выявлять и завершать ошибочные процессы.

Всегда будьте осторожны. Во-первых, убедитесь, что процесс, который вы собираетесь убить, действительно тот, который вам нужен. Во-вторых, дважды проверьте — будьте осторожны и убедитесь, что целевой процесс — это тот процесс, который вы хотите завершить. Как только вы будете удовлетворены, продолжайте завершать процесс.

Источник: toadmin.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru