<?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
?
Для этого вы можете использовать screen
:
screen watch -n 1 ls -l /etc/
Затем внутри screen
введите Ctrl kbd> - a kbd> d kbd> отсоединить экран.
Процесс все еще выполняется, даже если вы выйдете из системы, см .:
# 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 kbd> - c kbd > или что-то еще.