![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| spin2 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 15.12.2005 Где: Москва-Одесса Репутация: нет Всего: 31 |
Есть две кнопки - go и cancel. По кнопке go вызывается внешний скрипт:
Нужно сделать так, чтобы по кнопке Cancel тот внешний скрипт бы прерывал свою работу, то есть сделать kill дочернего процесса. Делаю так:
Переменная $pid глобальная. Почему-то кнопка Cancel не отрабатывает. Что нужно исправить? -------------------- |
||||
|
|||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
spin2, пробуй убить дочерний прочесс через вызов системной команды:
И проверь у тебя $pid точно есть! -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
| spin2 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 15.12.2005 Где: Москва-Одесса Репутация: нет Всего: 31 |
Да, $pid есть... Стало ясно, что проблема в логике программы. Суть примерно такая: в обработчике Go вызывается внешний скрипт отдельным процессом, этот скрипт записывает результаты в файл. Если все ок, то нужно дождаться окончания этого процесса, а потом считать файл, обработать его и закинуть результат в div'ы. И тут возникает противоречие: с одной стороны, родитель должен ждать, пока ребенок закинет результат в файл. А с другой стороны - ему нужно иметь возможность убить ребенка при необходимости по Cancel. Поэтому я в затруднении. Может кто-нибудь что-то посоветовать?
-------------------- |
|||
|
||||
| Nab |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 8 Всего: 37 |
AJAX или два фрейма... это самое простое, но конечно pid прийдется сохранять гдето в сессии или куках
А если все делать правильно..... то нельзя, и не рекомендуется. Это противоречит концепции протокола HTTP. Нужно попробовать по другому организовать логику работы системы. -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |