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

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

nohup — утилита, которая позволяет запустить команду, защищенную от зависания с выходом на non-tty (игнорирует потерю сигналов связи SIGHUP). Если стандартным выводом (stdout) команды является терминал, то он и стандартный вывод ошибок (stderr) перенаправляются с добавлением в файл «nohup.out» в текущей директории; если это невозможно сделать, то перенаправление происходит в файл «$HOME/nohup.out». Если и это невозможно сделать, то команда не запускается совсем. При создании файлов «nohup.out» или «$HOME/nohup.out» команда nohup устанавливает им атрибуты доступа только для владельца этих файлов (группа и остальные пользователи не имеют прав доступа к этим файлам). Если же эти файлы уже существуют, то их права доступа не изменяются.

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

Некоторая работа или команда занимает много времени. Если вы не уверены, когда закончится задание, лучше оставить работу в фоновом режиме. Все процессы (кроме at и batch), выполняют завершение при выходе из системы. Утилита nohup дает возможность, чтобы  при выходе из  системы процесс продолжал работу в фоновом режиме. Например:

# nohup command Arg(s) &
  • command: Это имя скрипта или клманды которую запускаете. Так же, вы можете передать аргумент(ы) команде или скрипту.
  • Arg(s) — Это аргумент(ы) для команды или скрипта( можно не прописывать).
  • & : Чтобы nohup  работал в фотоновом режиме, используйте & символ.

Приведу очень наглядный пример. Допустим, вам нужно выполнить grep по определенному слову «ddos» и при поступлении данных ( допустим ДДОС или что-то еще), то можно запустить grep с нужным словом для поиска в фоновом режиме. Он будет находить нужные слова и записывать в определенный файл:

# nohup grep ddos * > /home/captain/ddos.txt &

Или:

# nohup cat /var/log/nginx/access.log| grep "admin" > /home/captain/bruteforce.txt &

И смотрим на процесс:

# ps -aux | grep nohup

Вы можете завершить команду nohup с помощью команды kill.

Вот еще пример того, как можно запускать сервер nginx в фоновом режиме:

# nohup service nginx start > /dev/null 2>&1&

В этом примере я собираюсь найти все утилиты/скрипты с setuid битом:

# nohup find / -xdev -type f -perm +u=s -print > /home/output.txt &

Обратите внимание, что nohup не изменяет приоритет ; Для этого используйте «nice» команду:

# nohup nice -n -5 ls / > /home/some_output.txt &

Опции nohup в Unix/Linux

Чтобы вывести помощь:

$ nohup --help

Для отображения версии, используйте:

$ nohup --version

А на этом, у меня статья «Команда nohup в Unix/Linux» подошла к завершению.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.