За последние 24 часа нас посетили 26489 программистов и 1510 роботов. Сейчас ищут 828 программистов ...

Что является демоном на PHP?

Тема в разделе "PHP для новичков", создана пользователем Walk, 17 май 2018.

  1. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Если вбить запрос в поиск «демон на php» найдется множество статей и руководств.

    Но нигде не встречал примера самого простого демона на php, который создается одной строкой в консоли:

    Код (Text):
    1. php -r '$i =0; while (true) { echo "$i\n"; sleep(1); $i++; }'
    Он также будет постоянно работать, он также будет отображаться в htop и иметь свой PID.

    Или нет? Вообще хочу прояснить этот вопрос - демон - это любой процесс, который можно посмотреть в списке запущенных процессов (через тот же htop)? А php-демон - это любой процесс, где "что-то делает php"?

    Понятно, что приведенный пример в одну строчку - это самый простой и примитивный. Но он позволяет вот прямо сходу сделать своего демона, и понять что это такое. Странно, что нигде не встречал такого примера.
     
  2. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    уже не демон ) Это никсовый термин и цитируя вики "В техническом смысле демоном считается процесс, который не имеет управляющего терминала." На каком языке это написано значения не имеет.
     
    artoodetoo нравится это.
  3. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Спасибо за ответ, а если так:

    1. Создаем скрин:
    Код (Text):
    1. screen -S TestDaemon
    2. В нем:
    Код (Text):
    1. php -r '$i =0; while (true) { echo "$i\n"; sleep(1); $i++; }'
    3. Ctrl + A, D - выходим из скрина

    Это уже будет php-демоном?
     
  4. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    а выполнение продолжится, когда ты закроешь терминал?

    Ближе всего, пожалуй, nohup ./any &
     
  5. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Да, скрин и все что в нем запущено - останется.

    Скрины, насколько понимаю, для того и придумали - чтобы делать автономное "что-то" не привязанное к терминалу
     
  6. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    обычно демона на php запускают >
    Код (Text):
    1. nohup php -r '$i =0; while (true) { echo "$i\n"; sleep(1); $i++; }'&
    только смысла в нём нет....