Процесс не работает в фоновом режиме

<?php
 while(true)
    {
    set_time_limit(2);
    $reas ="wake up from sleep!!!!!!!!!! \n ";
    echo $reas;
    sleep(5);
   // $readlen = 0;
    }
?>

Я пытаюсь запустить этот код. На переднем плане это работает отлично. Но когда запустить его в фоновом режиме и проверить процесс, идентификатор не найден. Я пытался использовать команду top для проверки и

  nohup php p2.php & 

, чтобы получить идентификатор процесса, но когда я пытаюсь убить процесс, используя

 kill 1234

, я получаю сообщение об ошибке «нет такого процесса».

Что не так в моем коде? Как мне запустить его в фоновом режиме и сделать так, чтобы он отображался в top?

0
задан 16.04.2020, 03:06

1 ответ

Для этого вы можете использовать screen:

screen watch -n 1 ls -l /etc/

Затем внутри screen введите Ctrl - a d отсоединить экран.

Процесс все еще выполняется, даже если вы выйдете из системы, см .:

# ps faux | grep ls
root     13879  0.0  0.0   7828   844 pts/0    S+   08:20   0:00          \_ grep ls
root     13571  0.0  0.0  23388  1436 ?        Ss   08:18   0:00 SCREEN watch -n 1 ls -l /etc/
root     13572  0.1  0.0  14864  1780 pts/1    Ss+  08:18   0:00  \_ watch -n 1 ls -l /etc/

И есть также PID. Или через:

#pidof watch
13572

Для повторного подключения экрана:

screen -r

И вы вернулись внутрь, к Ctrl - c или что-то еще.

1
ответ дан 16.04.2020, 03:07

Теги

Похожие вопросы