| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Вывод ошибки при запуске программы |
| Автор: Slauta 30.6.2009, 10:47 | ||||
Вот вопрос. Что может выдавать ошибку 'Terminating on signal SIGINT(2)' при выполнении скрипта:
После ввода в @massiv, нажимаю Win+S (По другому никак), открывается браузер а perl выводит ошибку 'Terminating on signal SIGINT(2)' Точно так же и здесь:
Я вот подумал, мот это где то в настройках интерпретатора perl? P.S. Спасибо за уделённое время. |
| Автор: FishHunter 30.6.2009, 11:25 |
| таки а до каких пор то вводить элементы массива? правильно тебе пишет INT - сигнал о нажатии клавиши прерывания на компе. сделай чтобы сначала вводилось число элементов массива, а потом в цикле от 1 до этого числа каждый элемент (токо не забудь что первый элемент массива имеет индекс 0) |
| Автор: amg 30.6.2009, 14:32 | ||||
|
| Автор: Slauta 30.6.2009, 18:09 | ||||||||
ну с этим понятно... Я ючусь по книжке, там написан ответ так (второго моего примера)....
тютелька в тютельку, но выдаёт ошибку.... Че за хрень??? |
| Автор: DaemonSuw 30.6.2009, 20:27 |
| 'Terminating on signal SIGINT(2) - это сигнал посланный вашему приложения вами с клавиатуры... это не ошибка нажмите ctrl+c увидите тоже самое, можно сделать цикл и проверять ввод while (<STDIN>) { .... last if $_ =~ /__end__/; } или можно попробывать обрабатывать сигнал... |
| Автор: Slauta 1.7.2009, 01:46 |
| А каким тогда нажатием (если не win+s) инецеировать (на винде 7) конец ввода массива с <STDIT>? |
| Автор: amg 1.7.2009, 06:20 | ||
|
| Автор: Slauta 1.7.2009, 11:30 |
| Ctrl+Z у мя не работает! Блин, придется на переписывать под linux, и каждый раз в неё заходить! |
| Автор: korob2001 1.7.2009, 11:47 | ||
| Вообще лучше всего заполнять массив с клавиатуры в бесконечном цикле, при вводе определённой последовательности прерывать его, это как раз и привёлDaemonSuw. Можно так же перехватить сигнал INT, вот небольшой пример:
|
| Автор: Slauta 1.7.2009, 20:24 |
| Я не продвинутый программист, я тока учюсь... Этот код я мало понимаю, хоть он и маленький, и описан подробна... У меня проблема другая... В книжке вроде ошибок недолжно быть, однако некоторые скрипты не работают. Это сильно тормозит меня, вот приходится спрашивать на форумах и знающих людей.. :( |
| Автор: DaemonSuw 1.7.2009, 20:35 | ||||
| Slauta, мы все учимся)... Суть обработки сигналов - сделать что то до завершения скрипта/получению сигнала... Например если вы просто отправите скрипту (допустим вашему) - то он просто завершиться и
не выполниться... а если тоже самое сделаете с скриптом korob2001, то получите Bye, bye... тоесть если вы засуните в
То это обязательно выполниться перед заершением... если только не послать -kill |
| Автор: Slauta 2.7.2009, 02:17 |
| А чё значит kill? Убойное завершение скрипта или просто ибит скрипт? |
| Автор: amg 2.7.2009, 05:48 |
| Забыл добавить: Enter, Ctrl+Z и затем еще Enter. Пробовал на WinXP. |
| Автор: Slauta 2.7.2009, 09:15 |
| Ентер, контрол+z, ентер - заработало! Пасиб... |