в этой лекции я покажу вам, как взаимодействовать с процессами. Иногда у вас будут приложения,
которые перестают отвечать или потребляют много ресурсов, и вы хотите их остановить. Есть
несколько комментариев, которые позволяют вам завершить процессы, и kill - наиболее часто используемый одна
команда kill отправляет сигнал процессу или группе процессов, заставляя их действовать в соответствии
с сигналом, когда сигнал не указан, по умолчанию он равен 15 или искать термин,
чтобы получить список всех доступных сигналов, запустите команду kill с минус вариант ячейки
каждый сигнал идентифицируется номером и именем, например, этот сигнал идентифицируется
термином или термином поиска номер 15, но то, что заражает эти сигналы, сигнал представляет собой асинхронное уведомление,
отправленное процессу, который определяет, как процесс должен вести себя, когда сигнал доставляется,
это список всех реализованных сигналов, например, если процесс получает термин сигнал,
то это приглашение процессу перейти в состояние завершения. st сказал
приглашение нарочно, потому что процесс может решить игнорировать некоторые сигналы,
давайте начнем с некоторых примеров, я открываю приложение, такое как g edit, которое является текстовым редактором
с терминала, я отправлю сигнал int на процесс, и есть три способа сделать это,
используя команду kill, кстати, когда вы нажимаете ctrl и c, процесс переднего плана, запущенный в
текущем терминале, будет доставлен сигнал int, что означает прерывание первого шага при отправке
сигнала процессу заключается в том, чтобы найти идентификатор процесса, поэтому p grep минус lx edit this is xpid первый
способ доставить сигнал процессу - использовать номер, который идентифицирует сигнал в
этом случае 2, что означает sigint orient, поэтому kill -2 и идентификатор процесса редактор будет прекращен,
его нет, и второй пример: я запускаю firefox, теперь я хочу найти скорость, чтобы быстро
найти яму процесса, запустив pid команды, поэтому pdf firefox
и распечатал идентификаторы процесса всех firefo x существует больше,
и второй способ доставить сигнал процессу - использовать имя сигнала, поэтому kill
minus int int x сигнал прерывания и идентификатор процесса я скопирую, а затем вставлю идентификаторы
процессов, обратите внимание, что имя сигнала должны быть полностью заглавными,
поэтому, если вы хотите предоставить больше идентификаторов процессов для команды kill,
просто укажите идентификаторы процессов, разделенные пробелом,
и он исчез, и последний способ - использовать префикс sig и имя сигнала, я сделаю это снова
Я запускаю firefox, он начал, чтобы избежать копирования и вставки идентификаторов процессов,
вы можете использовать замену комментариев, подобную этой, так что kill минус sigint sigint и
знак доллара пара скобок и pid комментария firefox
эта конструкция заменит команду pdf на x, который представляет собой идентификаторы процессов, которые
я нажимаю, и его больше нет, мы углубимся в это в разделе сценария bash, поэтому все эти
комментарии уничтожения эквивалентны этому, этому или этому примечанию, что непривилегированные пользователи могут отправлять
сигналы только на свой пр процессов, в то время как пользователь root может отправлять сигналы другим процессам пользователя,
другим полезным сигналом является концентратор или номер один, который используется для перезагрузки процесса в следующем примере,
я отправлю сигнал концентратора демону ssh, чтобы он перезагрузил конфигурацию x в Linux конфигурация сервера
rxx только при запуске, поэтому, если вы вносите какие-либо изменения в конфигурацию сервера,
вам нужно перезагрузить его, чтобы новые изменения вступили в силу, запущен демон ssh, и
я проверю его с помощью команды system ctl, поэтому sudo systemctl status ssh и он активен и работает,
если он не работает, попробуйте запустить его, запустив systemctl start ssx, как это,
и если он не установлен, попробуйте установить его, запустив sudo apt-install ssx,
я открываю другой терминал и вижу хвост или последние строки файла журнала демона ssh в
реальном времени, поэтому хвост минус f и путь к файлу журнала xvar log auth.log идентификатор процесса сервера
обычно находится в файле, который обычно находится в каталоге запуска косой черты var slash здесь имя
файл th e имя демона, так что это файл, в котором сохраняется идентификатор процесса запроса ssh,
это идентификатор процесса x,
у меня такой же результат при запуске pgrep, и я отправляю ему сигнал концентратора,
поэтому sudo kill -1 и Идентификатор процесса
взгляните на другой терминал, который вы видели в другом терминале, как была перезапущена служба
, вы также можете использовать подстановку команд, как я уже показал вам,
это то же самое, что и последние два комментария
эквивалентны, вы также должны знайте, что процесс может улавливать некоторые сигналы и игнорировать их,
например, при отправке сигнала термина процессу может произойти несколько разных вещей:
процесс может немедленно остановиться процесс может остановиться после небольшой задержки после очистки
ресурсов или процесс может продолжать работать на неопределенный срок, поэтому он просто игнорирует сигнал, который
процесс может определить, что он хочет сделать после получения сигнала термина, в
то время как большинство приложений будут очищать свои ресурсы и останавливать некоторые, возможно, нет, это по
сигналу времени также называется мягким уничтожением для s Для некоторых процессов, которые игнорируют термин сигнал, может
потребоваться отправить сигнал уничтожения, который имеет номер девять, вместо этого этот сигнал не может быть пойман,
это также известно как жесткое уничтожение, если вы хотите остановить приложение, которое просто игнорирует термин
сигнал, а затем вы можете попытаться отправить ему сигнал kill, поэтому kill -9 или минус kill и идентификатор процесса,
помимо команды kill, вы также можете отправлять сигналы процессам, используя kilo и pikel, команда kilo
убивает все процессы с определенным именем, возможно, приложение выполняется несколько раз, и вы
хотите убить все экземпляры этого приложения, я запускаю несколько экземпляров сна,
один, два, три и процент, я запускаю его в фоновом режиме, а другой, кстати, сон
приостанавливает или задерживает выполнение для заданное количество секунд, сейчас работают два процесса,
я хочу завершить все экземпляры сна, конечно, я также могу найти все идентификаторы процессов
и запустить kill, но проще запустить команду kilo, она делает то же, что и kill c ommand просто,
что он принимает имя процесса вместо идентификатора процесса, он затем убивает все процессы,
которые разделяют это имя, поэтому kill -15 в любом случае это значение по умолчанию, а имя комментария,
конечно, x кило не убивает, мы говорят о килограмме и процессы были завершены. килограмм
не принимает частичные имена, если вы хотите убить процесс, используя частичное имя, вместо этого
я запускаю несколько экземпляров сна, они
снова запускаются, если я запускаю комментарий уничтожения, используя частичное назовите это не сработает kilo sl double
это не работает, но я могу запустить p kill, указав частичное имя, поэтому p kill
sl double и процессы были убиты в конце у меня есть предупреждение kill kilo и p kill -
чрезвычайно мощные комментарии, если они используются неправильно, они могут вывести из строя сервер, если вы новичок в
этих приходах, рекомендуется очень хорошо изучить, как использовать их в непроизводственной системе