Nohup linux ���������� ������

Содержание
  1. Команда nohup в Linux
  2. Как использовать команду nohup
  3. Запуск команды в фоновом режиме
  4. Перенаправление вывода в файл
  5. Альтернативы
  6. Screen
  7. disown
  8. Выводы
  9. Команда Nohup в Linux
  10. Linux Nohup Command
  11. Обычно, когда вы запускаете программу по SSH, если ваше соединение прерывается или вы выходите из системы, сеанс завершается, и все процессы, выполняемые с терминала, останавливаются. Здесь nohup команда пригодится. Он игнорирует все сигналы зависания, и процесс продолжится.
  12. Как использовать команду nohup
  13. Запуск команды в фоновом режиме
  14. Перенаправление вывода в файл
  15. альтернативы
  16. Screen
  17. Disown
  18. Вывод
  19. Linux nohup command
  20. Description
  21. Syntax
  22. Options
  23. Notes
  24. Examples
  25. Related commands
  26. linux-notes.org
  27. Команда nohup в Unix/Linux
  28. Опции nohup в Unix/Linux
  29. Добавить комментарий Отменить ответ
  30. Nohup Command in Linux
  31. nohup command syntax:
  32. Example-1: Using nohup command without ‘&’
  33. Example-2: Using nohup command with ‘&’
  34. Example-3: Using nohup command to run multiple commands in the background
  35. Example-4: Start any process in the background by using nohup
  36. About the author
  37. Fahmida Yesmin

Команда nohup в Linux

Команда nohup выполняет другую программу, указанную в качестве аргумента, и игнорирует все сигналы SIGHUP (зависание). SIGHUP — это сигнал, который отправляется процессу, когда его управляющий терминал закрыт.

Обычно, когда вы запускаете программу через SSH, если ваше соединение разрывается или вы выходите из системы, сеанс завершается, и все процессы, выполняемые с терминала, останавливаются. Здесь пригодится команда nohup . Он игнорирует все сигналы зависания, и процесс продолжит работу.

Как использовать команду nohup

Синтаксис команды nohup следующий:

Команда не принимает никаких других параметров, кроме стандартных —help и —version .

Давайте посмотрим на следующий пример:

nohup запускает команду mycommand на переднем плане и перенаправляет вывод nohup.out файл nohup.out . Этот файл создается в текущем рабочем каталоге . Если пользователь, выполняющий команду, не имеет прав на запись в рабочий каталог, файл создается в домашнем каталоге пользователя.

Если вы выйдете из системы или закроете терминал, процесс не завершится.

Запуск команды в фоновом режиме

Использование nohup на переднем плане не очень полезно, потому что вы не сможете взаимодействовать с оболочкой, пока команда не завершится.

Чтобы запустить команду в фоновом режиме , добавьте символ & в конце команды:

Вывод включает идентификатор задания оболочки (в скобках) и идентификатор процесса:

Вы можете использовать идентификатор задания, чтобы вывести команду на передний план с помощью команды fg .

Если по какой-то причине вы хотите прервать процесс, используйте команду kill за которой следует идентификатор процесса:

Перенаправление вывода в файл

По умолчанию nohup перенаправляет вывод nohup.out файл nohup.out . Если вы хотите перенаправить вывод в другой файл, используйте стандартное перенаправление оболочки.

Например, чтобы перенаправить стандартный вывод и стандартную ошибку на mycommand.out вы должны использовать:

Чтобы перенаправить стандартный вывод и стандартную ошибку в разные файлы:

Альтернативы

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

Screen

Экран или GNU Screen — это программа-мультиплексор терминала, которая позволяет запускать сеанс экрана и открывать любое количество окон (виртуальных терминалов) внутри этого сеанса. Процессы, запущенные в Screen, будут продолжать работать, если их окно не отображается, даже если вы отключитесь.

Tmux — это современная альтернатива экрану GNU. С помощью Tmux вы также можете создать сеанс и открыть несколько окон внутри этого сеанса. Сеансы Tmux являются постоянными, что означает, что программы, запущенные в Tmux, будут продолжать работать, даже если вы закроете терминал.

disown

disown — это встроенная оболочка, которая удаляет задание оболочки из управления заданиями оболочки. В отличие от nohup , вы также можете использовать disown для запущенных процессов.

Выводы

nohup позволяет предотвратить завершение выполнения команд при выходе из системы или выходе из терминала.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Команда Nohup в Linux

Linux Nohup Command

Обычно, когда вы запускаете программу по SSH, если ваше соединение прерывается или вы выходите из системы, сеанс завершается, и все процессы, выполняемые с терминала, останавливаются. Здесь nohup команда пригодится. Он игнорирует все сигналы зависания, и процесс продолжится.

Команда nohup выполняет другую программу, указанную в качестве аргумента, и игнорирует все SIGHUP сигналы (зависания). SIGHUP это сигнал, который отправляется процессу, когда его управляющий терминал закрыт.

Читайте также:  Очистить историю терминала mac os

Как использовать команду nohup

Синтаксис nohup команды следующий:

Команда не принимает никаких других опций, кроме стандартных —help и —version .

Давайте посмотрим на следующий пример:

nohup запускает mycommand команду на переднем плане и перенаправляет вывод команды в nohup.out файл. Этот файл создается в текущем рабочем каталоге . Если пользователь, выполняющий команду, не имеет прав записи в рабочий каталог, файл создается в домашнем каталоге пользователя.

Если вы выйдете из системы или закроете терминал, процесс не прекратится.

Запуск команды в фоновом режиме

Использование nohup на переднем плане не очень полезно, потому что вы не сможете взаимодействовать с оболочкой, пока команда не завершится.

Для запуска команды в фоновом режиме добавьте & символ в конце команды:

Вывод включает идентификатор задания оболочки (заключенный в квадратные скобки) и идентификатор процесса:

Вы можете использовать идентификатор задания, чтобы вывести команду на передний план, используя fg команду.

Если по какой-либо причине вы хотите прервать процесс, используйте kill команду, за которой следует идентификатор процесса:

Перенаправление вывода в файл

По умолчанию nohup перенаправляет вывод команды в nohup.out файл. Если вы хотите перенаправить вывод в другой файл, используйте стандартное перенаправление оболочки.

Например, чтобы перенаправить стандартный вывод и стандартную ошибку, mycommand.out вы должны использовать:

Чтобы перенаправить стандартный вывод и стандартную ошибку в разные файлы:

альтернативы

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

Screen

Screen или GNU Screen — это программа мультиплексора терминала, которая позволяет запустить сеанс экрана и открыть любое количество окон (виртуальных терминалов) внутри этого сеанса. Процессы, запущенные в Screen, будут продолжать работать, когда их окно не видно, даже если вы отключены.

Tmux — современная альтернатива экрану GNU. С Tmux вы также можете создать сеанс и открыть несколько окон внутри этого сеанса. Сеансы Tmux являются постоянными, что означает, что программы, работающие в Tmux, продолжат работать, даже если вы закроете терминал.

Disown

disown является встроенной оболочкой, которая удаляет задание оболочки из управления заданиями оболочки. В отличие от nohup , вы также можете использовать disown на запущенных процессах.

Вывод

nohup позволяет предотвратить завершение команд при выходе или выходе из терминала.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Linux nohup command

On Unix-like operating systems, the nohup command executes another command, and instructs the system to continue running it even if the session is disconnected.

This page covers the GNU/Linux version of nohup.

Description

When using the command shell, prefixing a command with nohup prevents the command from being aborted automatically when you log out or exit the shell.

The name nohup stands for «no hangup.» The hangup (HUP) signal, which is normally sent to a process to inform it the user has logged off (or «hung up»), is intercepted by nohup, allowing the process to continue running.

Syntax

Options

—help Display a help message and exit.
—version Output version information and exit.

Notes

If standard input is a terminal, nohup redirects it from /dev/null. Therefore, terminal input is not possible when running a command with nohup.

If standard output is a terminal, command output is appended to the file nohup.out if possible, or $HOME/nohup.out otherwise.

If standard error is a terminal, it is redirected to standard output.

Читайте также:  Можно ли удалить кортану windows 10

To save output to a file named file, use «nohup command > file«.

Examples

Run the command mycommand. It does not receive input. All output, including any error messages, is written to the file nohup.out in the working directory, or in your home directory. If mycommand is running when you log out or close the terminal, mycommand does not terminate.

Same as the previous command, but this form (when using the bash shell) returns you immediately to the shell prompt. The «&» symbol at the end of the command instructs bash to run nohup mycommand in the background. It can be brought back to the foreground with the fg bash builtin command.

When using &, you see the bash job ID in brackets, and the PID (process ID) listed after. For example:

You can use the PID to terminate the process prematurely. For instance, to send it the TERM (terminate) signal with the kill command:

nice — Invoke a command with an altered scheduling priority.

Источник

linux-notes.org

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

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

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

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

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

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

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

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

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

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

Опции nohup в Unix/Linux

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

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

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

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

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

Источник

Nohup Command in Linux

The meaning of nohup is ‘no hangup‘. Normally, when we log out from the system then all the running programs or processes are hangup or terminated. If you want to run any program after log out or exit from Linux operating system then you have to use nohup command. There are many programs that require many hours to complete. We don’t need to log in for long times to complete the task of the command. We can keep these type of programs running in the background by using nohup command and check the output later. Some example of using nohup command are memory check, server restart, synchronization etc. How you can use a nohup command on Ubuntu to run a program in the background is shown in this tutorial.

Читайте также:  Изменить направление прокрутки мыши windows 10

You can check the version of nohup command by using the following command.

nohup command syntax:

You can use the nohup command by two ways.

  1. nohup command [args…]
  2. nohup option

Using nohup with commands

Example-1: Using nohup command without ‘&’

When you run nohup command without ‘&’ then it returns to shell command prompt immediately after running that particular command in the background. In the following example, nohup run bash command without ‘&’ to execute sleep1.sh file in the background. The output of the nohup command will write in nohup.out the file if any redirecting filename is not mentioned in nohup command. For the following command, you can check the output of sleep1.sh by checking the output of nohup.out file.

You can execute the command in the following way to redirect the output to the output.txt file. Check the output of output.txt.

Example-2: Using nohup command with ‘&’

When nohup command use with ‘&’ then it doesn’t return to shell command prompt after running the command in the background. But if you want you can return to shell command prompt by typing ‘fg’

Example-3: Using nohup command to run multiple commands in the background

You can run multiple commands in the background by using nohup command. In the following command, mkdir and ls command are executed in the background by using nohup and bash commands. You can get the output of the commands by checking output.txt file.

Example-4: Start any process in the background by using nohup

When any process starts and the user closes the terminal before completing the task of the running process then the process stops normally. If the run the process with nohup then it will able to run the process in the background without any issue. For example, if you run the ping command normally then it will terminate the process when you close the terminal.

You can check the list of all running command by using pgrep command. Close the terminal. Re-open the terminal and run pgrep command with -a option. No list of running command will display because all running commands are terminated when the terminal was closed.

Run ping command with nohup command. Re-open the terminal and run pgrep command again. You will get the list of the process with process id which is running.

You can stop any background process by running kill command. Just run kill command with particular process id which is running. Here, the process id of the running process is 7015. Run kill command in 7015 to terminate the process.

The uses of nohup command are explained by using very simple examples in this tutorial. Hope you will get a clear idea of the function of nohup command and able to apply this command for various purposes.

About the author

Fahmida Yesmin

I am a trainer of web programming courses. I like to write article or tutorial on various IT topics. I have a YouTube channel where many types of tutorials based on Ubuntu, Windows, Word, Excel, WordPress, Magento, Laravel etc. are published: Tutorials4u Help.

Источник

Оцените статью