Оболочка exec nohup с nohup.out


Выполнение этого кода:

shell_exec('nohup command&');

Или это

shell_exec('nohup command > /path/to/nohup.out 2>&1&');

Но в обоих случаях нет nohup.out. Как я могу запустить nohup с помощью nohup.out через php?

Author: Иван Петров, 2015-04-23

1 answers

Shell_exec('команда nohup>/путь/к/nohup.out 2>&1&');

Эта строка будет работать. Просто убедитесь, что у вас есть права на запись в выходную папку. Считайте, что ваша выходная папка /usr/nohup-out

ls -l /usr/nohup-out

Он должен иметь разрешения на запись, чтение и выполнение (rwx). Если нет, сделайте следующее:

sudo chmod -R 777 /usr/nohup-out

Теперь попробуйте выполнить php-файл. Он должен создать файл nohup в папке /usr/nohup-out.

Пример сценария и результат:

1. date.php:

<?php
shell_exec('nohup date > /usr/nohup-out/nohup.out 2>&1&');
?>

2. Выполнить php из терминала:

php date.php

3. содержимое nohup.out после выполнения

Чт 23 апреля 11:30:28 IST 2015

 1
Author: Rajesh N, 2015-04-23 05:56:41