Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> perl скрипт как демон 
:(
    Опции темы
box
Дата 14.12.2010, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 27.2.2007

Репутация: нет
Всего: 0



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

Это сообщение отредактировал(а) box - 14.12.2010, 16:48
PM MAIL   Вверх
vadiml
Дата 14.12.2010, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 27.7.2007

Репутация: 5
Всего: 7



1й вариант -- screen
2й (если хочется именно демон) -- use Proc::Daemon (или самому это написать)
PM MAIL Jabber   Вверх
Pfailed
Дата 14.12.2010, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



Подтверждаю, не далее как вчера демонизировал пару скриптов с помощью Proc::Daemon


--------------------
PM MAIL   Вверх
Egik2
Дата 14.12.2010, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 29.7.2008
Где: Агудзера

Репутация: 1
Всего: 11



Еще можно стандартный линуксовый setsid использовать.
Можно сделать демона из чего угодно
man setsid


--------------------
Три великие добродетели программиста: лень, нетерпение и самомнение (Larry Wall)
a-nav.com
developer-blog.ru
world-poetry.org
PM MAIL WWW ICQ   Вверх
infarch
Дата 15.12.2010, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 13.3.2009

Репутация: нет
Всего: 1



А cron не подойдет?
PM MAIL   Вверх
FishHunter
Дата 16.12.2010, 12:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 12.2.2009

Репутация: нет
Всего: нет



+1 за крон
второе: можно так nohup perl script.pl &
PM MAIL   Вверх
XSugar
Дата 17.12.2010, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 17.12.2010

Репутация: нет
Всего: нет



с командной строки 
Код

script.pl &


и в коде скрипта
Код

close STDIN; close STOUT; 


ну можно и по крону
PM MAIL WWW   Вверх
Pfailed
Дата 17.12.2010, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



Цитата(XSugar @ 17.12.2010,  14:43)
с командной строки 
Код

script.pl &


и в коде скрипта
Код

close STDIN; close STOUT; 


ну можно и по крону

SIGHUP прилетит.


--------------------
PM MAIL   Вверх
vadiml
Дата 17.12.2010, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 27.7.2007

Репутация: 5
Всего: 7



Pfailed
> script.pl &

В таком случае если было подключение по ssh при выходе из bash-a будет убит и скрипт, т.к. он будет потомком bash-а.
Для разового запуска лучше screen или nohup в завистмости от нужности интерактивности.
PM MAIL Jabber   Вверх
Pfailed
Дата 18.12.2010, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



vadiml, это не я написал.


--------------------
PM MAIL   Вверх
Sugar84
Дата 21.12.2010, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 24.5.2010

Репутация: нет
Всего: нет



vadiml
>В таком случае если было подключение по ssh при выходе из bash-a будет убит и скрипт, т.к. он будет потомком bash-а.

Разве?

У меня есть шел-скрипт, где в скрипте вызывается функция вот так вот:
Код

do_sleep &

Скрипт спокойно засыпает и отрабатывает все что нужно даже при закрытии терминала.

Хотя на перле я не проверял.
PM MAIL   Вверх
Sugar84
Дата 22.12.2010, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 24.5.2010

Репутация: нет
Всего: нет



Только что проверил, такое вполне работает:
Код

./script.pl &

PM MAIL   Вверх
arto
Дата 22.12.2010, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



и по записи в stdout/stderr не прибивает?
PM MAIL ICQ   Вверх
noize
Дата 25.12.2010, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


5.18.2
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 10.7.2010
Где: СПб

Репутация: 3
Всего: 3



Код

sub daemonize {
        chdir $tmpdir or die "Can't chdir to $tmpdir: $!";
        open STDIN, '/dev/null' or die "Can't read /dev/null: $!";
        open STDOUT, '/dev/null' or die "Can't write to /dev/null: $!";
        open STDERR, '/dev/null' or die "Can't write to /dev/null: $!";
        defined(my $pid = fork)   or die "Can't fork: $!";
        exit if $pid;
        umask 0;
}

PM MAIL   Вверх
Sugar84
Дата 29.12.2010, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 24.5.2010

Репутация: нет
Всего: нет



arto
>и по записи в stdout/stderr не прибивает?

Я закрывал их в скрипте:
Код

close STDIN;
close STDOUT;
close STDERR;


Все Ок работало, дальше не стал заморачиваться.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1134 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.