Команда 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» подошла к завершению.