Как запустить скрипт в фоновом режиме?
Достаточно часто возникает потребность запустить длительный скрипт в фоновом режиме. Для решение этой задачи существует несколько инструментов: nohup, screen, tmux. Наиболее простым инструментом является nohup.
Для примера использования создадим скрипт test.php, для его запуска нужно выполнить простую команду:
nohup php -q test.php 2>&1 &
Проверить выполняеться ли скрипт можно с помощью ps ax:
root@dev:~# **ps ax | grep 'test.php'**
15426 pts/0 S 0:00 php -q test.php
Весь вывод будет записан в nohup.out если мы хотим перенаправить вывод то нужно добавить > script.log :
nohup php -q test.php **> script.log** 2>&1 &
Иногда нужно запустить последовательно 2 скрипта, для этого нужно использовать оператор &&
nohup php -q test.php **&&** php -q test.php > script.log 2>&1 &
В данных примерах был использован php скрипт, но таким образом можно запустить совершенно любой скрипт на любом языке программирования. Кроме этого можно запустить длительную консольную команду и перенаправить вывод в файл
<h2>TL;DR
Используйте инструмент nohup для запуска длительных фоновых скриптов.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: