| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Системное программирование > Не работает Proc::Daemon на Oracle Solaris 10 9/10 |
| Автор: Antoniously 29.6.2011, 18:48 |
| Привет Пробую запустить даемон для одной задачки на Oracle Solaris 10 9/10, он запускается, но ничего в лог не пишется об исполнении. Пакет Proc-Daemon-0.14. Пробовал разные, но безуспешно. Код простой (для теста): #!/usr/bin/perl -w use Proc::Daemon; Proc::Daemon::Init; while ("true") { system "date >> date.log"; sleep 1; } Может подскажет кто что делать? Очень нужно Заранее спасибо |
| Автор: OutlawZ 29.6.2011, 19:15 | ||
Нет возможности установить модуль но попробуйте так:
Или задать if после инициализации демона , дать переменной $true = 1; и по результатам если 1 то пишем если 0 то провал. |
| Автор: Pfailed 29.6.2011, 19:35 |
| Antoniously, на то он и демон, что stdin и stdout закрываются или куда-то перенаправляются. Читайте документацию. |
| Автор: Antoniously 29.6.2011, 21:58 | ||||
Я совсем чайник Пробовал вот так: #!/usr/bin/perl -w use Proc::Daemon; $true = Proc::Daemon::Init; print "$true\n\n"; $true = 1; while (defined($true)) { if ($true == 1) { system "date >> date.log"; } sleep 1; } но всё так же, только скрипт не уходит в процесс. Лог не пишется Надо чтоб уходил в фон (в процесс) и писался лог, не получается но всё равно, спасибо за участие в решение проблемы |
| Автор: OutlawZ 29.6.2011, 22:44 |
| Pfailed посоветовал вам прочитать документацию по модулю perldoc Proc::Daemon , если плохо с английским используйте on-line переводчики они донесут смысл. |
| Автор: Pfailed 30.6.2011, 07:16 |
| stdin & stdout в вашем случае ни при чем. Демон при старте меняет рабочую директорию на корневую, а вы указываете относительный путь к файлу . Указывайте абсолютный путь. |
| Автор: Antoniously 30.6.2011, 18:04 | ||
Вот этот совет действительно помог. Спасибо Добавлено через 2 минуты и 18 секунд Вопрос закрыт |