Демонизация или скрипт в фоновом режиме

it-master

Новичок
Демонизация или скрипт в фоновом режиме

Хочу, чтобы после запуска демона через ssh на удаленном сервере, чтобы он продолжал работать после отключения ssh консоли, то есть в фоновом режиме без зависимости от консоли.

Нашел такое решение - "Демонизация".
вставить в начало скрипта:
PHP:
$pid = pcntl_fork(); 
if($pid) { 
exit(0); 
} 
posix_setsid();
Демон запускается в фоновом режиме, но почему-то после закрытия ssh консоли демон сразу завершается :(
 

WP

^_^
command > /dev/nulll &
где command, там команда запуска php-скрипта.
 

whirlwind

TDD infected, paranoid
[skip]ups...[/ups]

PS. Что за дурацкая мания писать демонов на языке для этого не предназначеном. Юзайте perl и будет вам щастье.
 

WP

^_^
Perl в топку. PHP рулит. И демоны можно на нем писать спокойно.
 

it-master

Новичок
WP
Большое спасибо, помогло :)

-~{}~ 01.09.06 23:06:

whirlwind
Кстати давно хотел узнать преимущества Perl в этом деле над PHP :)
 

nerezus

Вселенский отказник
Юзайте perl и будет вам щастье.
От такого "щастья" ссаными тряпками отбиваться...

Кстати давно хотел узнать преимущества Perl в этом деле над PHP
в нем потоки есть. threads.
Но вот в питоне они тоже есть, причем он лишен недостатков перла.
 

С.

Продвинутый новичок
У перла практически нет недостатков.

Только один.

Но большой.

Синтаксис.
 

whirlwind

TDD infected, paranoid
>Только один.

>Но большой.

>Синтаксис.

и это он говорит про язык, который буквально угадывает что ему хотят сказать. а про конструкции которые фактически являются нормальными предложениями я вообще молчу. за всю мою практику программирования - перл единственный язык на котором программировать просто приятно. это php по сравнению с перлом убогий набор функций. как язык php кака, но в нем есть несколько ограниченное количество фишек которые очень привлекательны с точки зрения веб разработчика. а так как для профессионала язык дело непринципиальное, те кто раньше писали для веба на перле сделали выбор в пользу php. но это вовсе не потому что он такой растакой прекрасный язык, ИМХО.

много вы на перле программировали что бы так он нем судить? сомневаюсь. иначе вы б IPC со стороны PHP за верcту обходили бы. может я вру? ну так аргументы у меня на сайте лежат уже несколько лет, зайдите почитайте. ссылка в профайле.
 

john.brown

просто кулибин
С.

И чем перловский синтаксис неугодил? Имхо, нормальный синтаксис, не зря у Уолла филологическое образование :)
 

nerezus

Вселенский отказник
Блин, внатуре, у перла классный синтаксис, просто он не для всех. И у brainfuck'а тоже классный. И тоже не для всех.
Нечего гнать на эти языки. Ведь их тоже некоторые хм... юзают =)

А вот мне их синтаксисы не нравятся. А некоторым такие языки нравятся.
Так что каждый имеет право на свое мнение.
 

С.

Продвинутый новичок
john.brown
Имхо, нормальный синтаксис, не зря у Уолла филологическое образование
Тогда получается, что сексопатолога дети должны быть самые красивые?
 

Wicked

Новичок
john.brown
например переменными типа $( $] $$, вызовами функций без скобок, строками без кавычек, ...
да там сплошная кунсткамера
 

whirlwind

TDD infected, paranoid
> строками без кавычек
гнать не надо. без кавычек там тоже самое что в PHP

>переменными типа $( $] $$
для каждой есть англоязычный аналог, если кто то затрудняется. Можно писать $PROCESS_ID,
$PID если гораздо удобнее $$ - все есть в мануале

>вызовами функций без скобок
это вполне допустимо - более "корректная" типизация, как результат - возможность писать практически на англицком exit if $session->notRegistered

Так что не кунстакамера, а скорее страх получить свободу самовыражения.

PS. Там еще такая куча всяких вкусностей, типа как перегрузка существующих функций вплоть до системных, легкость работы с файловыми дескрипторами и их аналогами, форки работают даже под виндой. Перечислять можно очень долго.
 

john.brown

просто кулибин
Совершенно согласен. Ну не можеш запомнить $$, use English поможет :) А в плане выразительности с перлом ничего не сравнится. Как говорится - "великий и могучий"...
 

Wicked

Новичок
для каждой есть англоязычный аналог, если кто то затрудняется. Можно писать $PROCESS_ID,
$PID если гораздо удобнее $$ - все есть в мануале
это я теперь знаю, что такое $$. А когда я этого не знал и пытался разобраться в одном скрипте, то у меня ушла куча времени, чтобы найти, что это значит. Такое ведь и гуглом не найдешь - так что пришлось открыть мануал и случайно наткнуться на разъяснения.

гнать не надо. без кавычек там тоже самое что в PHP
прям уж то же самое... а как же всякие qw(abc def) и регулярные выражения?

exit if $session->notRegistered
это не на английском, а на языке мастера Йоды :)
 

whirlwind

TDD infected, paranoid
> А когда я этого не знал и пытался разобраться в одном скрипте

Очень, !очень! удобный мануал в перле. Есть perldoc для шелла, есть очень хорошо структурированный экстивстейтовский html в котором сразу знаешь где искать. просто заходишь в раздел perlvar и находишь любую их магических $X. а попробуй быстро найти описание той или иной константы не зная к чему она относится в php мануале - по количеству кликов однозначно проигрывает php.

> а как же всякие qw(abc def) и регулярные выражения?

ну qw есть такое в принципе. можно сказать не совсем строки, а массив лексем - что бы не писать для каждой кавычки. если список большой - очень удобно.

а по поводу регулярок, так это вообще красота. среди тех же $X переменных есть очень полезные штуки, в которых хранятся определенные части разбираемого шаблона (например для модификатора глобального поиска /g на каждой итерации можно выдернуть все что до текущей позиции просмотра от начала или конца сканируемой строки, и т.п.). ни в одном другом ЯП такой гибкости регулярок я не встречал.
 

john.brown

просто кулибин
И регулярки, употребляемые в разных preg_xxxx, именно из перла в пхп и пришли. Но, увы, далеко не так удобно, как в перле. Над многими вещами, которые в перле элементарно делается одной регуляркой, в пхп надо поизвращаться... К тому же они в перле не тормозят, в отличии от пхп :)
Ну да ладно, всяк язык хорош, если к месту :) Но демон лучше все же на перле писать, имхо...
 
Сверху