Руководство FreeBSD


Даемоны, сигналы, уничтожение процессов - часть 3


Сделайте это с помощью и grep(1). Команда grep(1) используется для поиска по заданной строке в выходном потоке. Эта команда запускается под обычным пользователем, а под root, поэтому ps(1) должна быть запущена с параметром ax.

% ps -ax | grep inetd

198 ?? IWs 0:00.00 inetd -wW

Итак, PID 198. В некоторых случаях в выводе команды может также появиться grep inetd. Это из-за способа, которым ps(1) получает список запущенных процессов.

  • Используйте для отправки сигнала. Поскольку inetd(8) запускается из под root, нужно сначала использовать su(1) для получения прав root.

    % su

    Password:

    # /bin/kill -s HUP 198

    Как и большинство команд UNIX®, kill(1) ничего не выведет, если отработает нормально. Если вы посылаете сигнал процессу, которым не владеете, на экране появится ``kill: PID: Operation not permitted''. При неправильно набранном PID вы или отправите сигнал другому процессу, что может привести к неприятностям, или, если повезет, сигнал будет отправлен на PID, который в данный момент не используется -- на экране появится ``kill: PID: No such process''.

    Зачем использовать /bin/kill?: Во многих оболочках команда kill встроена; таким образом, оболочка вместо вызова /bin/kill сама посылает сигнал. Это может быть очень полезно, но в разных оболочках имя сигнала указывается по-разному. Чем пытаться выучить их все, гораздо проще использовать /bin/kill ...

    непосредственно.

  • Отправка других сигналов очень похожа, просто замените TERM

    или KILL в командной строке на имя другого сигнала.

    Важно: Уничтожение процессов наугад может быть плохой идеей. В частности, init(8), чей PID 1, имеет особое значение. Выполнение /bin/kill -s KILL 1 -- быстрый способ перегрузить систему. Всегда

    дважды проверяйте параметры запуска kill(1) перед тем, как нажать Enter.




    Начало  Назад  Вперед