![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| blackjackchik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 18.3.2009 Репутация: нет Всего: нет |
Всем привет.
Есть программа которая передает на stdin скрипту на перл некоторые параметры и признаком завершения передачи есть пустая строка. Дальше есть сам скрипт
Если запускаю вручную то все работает до нажания Ctrl+D. Врезультате имеем файл с записанным STDIN. Но если скрипт запускается из программы с переданнымы параметрамы на STDIN то скрипт как-бы зависает, но на самом деле скрипт висит в процессах потому что ожидает ввода на STDIN. Почему он не понимает что ввод закончился? |
|||
|
||||
| klem4 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 27.7.2008 Репутация: 2 Всего: 2 |
Покажите как скрипт запускаете из программы.
|
|||
|
||||
| blackjackchik |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 18.3.2009 Репутация: нет Всего: нет |
Вот так.
А вот кусок документации к вызову.
|
||||
|
|||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Пустая строка не является признаком EOF. Попробуйте так:
-------------------- Died at Life.pl line 21 |
|||
|
||||
| blackjackchik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 18.3.2009 Репутация: нет Всего: нет |
Таким образом запустив вручную скрипт я вообще ниче не вижу чтобы в файл записалось.
|
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
blackjackchik, попробуйте
Это сообщение отредактировал(а) ginnie - 18.3.2009, 15:44 -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| KSURi |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
ginnie, регексы одинаковые по сути. Мой вариант работает, просто дело, возможно, в другом.
-------------------- Died at Life.pl line 21 |
||||
|
|||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
KSURi, по идее /^$/ совпадает только для "\n", а для "\r\n" надо /^\r?$/
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| blackjackchik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 18.3.2009 Репутация: нет Всего: нет |
Вот еще вариант
Вот так вручную запускаю работает на ура, а вот при вызове скрипта из mpd не хочет, тоесть и не остается висеть и в файл ничего не пишет. |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
blackjackchik, какие права на файл /home/admin/extauth.txt?
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Разве? Я ведь специально привел примеры для ОС в которых соотвестственно используются \r\n и \n для перевода строк. К тому же, mpd - юниксовое приложение, соответственно использует \n для перевода строки. Это сообщение отредактировал(а) KSURi - 18.3.2009, 17:29 -------------------- Died at Life.pl line 21 |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
KSURi, попробуйте у себя в Windows:
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| blackjackchik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 18.3.2009 Репутация: нет Всего: нет |
Mpd работает от рута. А права вот
|
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
blackjackchik, скрипт может не писать в файл по нескольким причинам:
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| blackjackchik |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 18.3.2009 Репутация: нет Всего: нет |
Итак сделал права 777 на файл для записи.
Вот так работает
Вот что в файл записало
Спасибо всем за помощ в разборках. |
||||
|
|||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |