last day (15 days later) » 

09:09
1
Q: Почему не работает скрипт python в Linux?

Простой ЧеловекПри посылке magic пакета в Windows происходит выполнение команды, которая прописана в скрипте, но в Linux при соотвествующем условии - нет. Нужная команда прописана в конце скрипта. Что должно происходить - запускаю скрипт, он начинает слушать порт 9999, посылаю с другого устройства magic пакет н...

@Amgarak код на "левом" сайте, потому что не адекватно себя ведёт в предпросмотре, то бишь часть кода выглядит в специальном блоке, а часть нет. ПС. А можно же объяснить, а не минусовать, как автобот.
Значит надо разобраться с разметкой. И если приводите текст трейсбека, то его надо давать полностью, а не кусок.
@user207200 это полный код Trace, за исключением KeyboardInterrupt, когда запускаю скрипт прям в программе и нажимаю Ctrl+С Странное поведение - если выделить ещё раз и нажать на кнопку вставки кода, то нормально. То есть по сути два раза нужно, только уже исключить ту часть, которая нормально отображается.
А пробовали на этом Linux зайти телнетом на 192.168.0.2:9999, что-то там выводится в ответ? А то может там что-то ждёт сервис, чтобы ему написали сначала.
А вы уверены что исполняемый файл reboot есть в системе? А если есть, то достаточно ли прав на его исполнение? В большинстве дистрибутивов reboot расположен в одной из директорий sbin т.е. нужны права суперпользователя.
09:09
Так у вас скрипт висит на строке data, _ = server_socket.recvfrom(1024) и вы его прерываете с клавиатуры или что происходит то? Из текущего описания проблемы не очень понятно.
@ПростойЧеловек свой минус я обосновал как и голос за закрытие. Моё замечание исправили -> свой минус отозвал -> проголосовал за переоткрывание.
Проголосую за переоткрытие только когда будет чёткое описание - что такое "не происходит выполнение команды". Код висит? Код выводит ошибку? Что происходит то? Из описания непонятно. Ну и трейс должен быть полный, с текстом ошибки, чтобы ситуация была понятной опять же.
@CrazyElf по telnet пишет в соединении отказано. По поводу прерывания, ну я же запускаю скрипт и он начинает слушать порт. Он слушает, я посылаю magic пакет с телефона на ПК с этим запущенным скриптом, ничего не происходит и соответственно я прерываю. И когда прерываю, выводятся эти ошибки. Я уже писал, что это полный Traceback. то бишь больше ничего нет.
@user207200 уверен, потому что если я уберу весь код и оставлю только нужный, для проверки reboot, выполню, то происходит перезагрузка.
@CrazyElf поправил топик.
"это полный traceback, больше ничего нет" - это не полный треэйсбэк (точнее не полный текст ошибки), там нет имени исключения, к которому трэйсбэк относится. Если там KeyboardInterrupt, то вообще нет толка от этого трэйсбэека, это просто вы остановили скрипт.
@insolor ну да, там KeyboardInterrupt. Что сделать, чтобы был толк?
09:09
Пройдите отладчиком, смотрите, как проходят все условия.
@ПростойЧеловек Вот и предоставьте в вопросе полный стек-трейс, как есть, ничего не вырезая из него. Почему мы вас должны уговаривать?
@CrazyElf я писал об этом. Продублировал в топик.
@ПростойЧеловек скопируйте вместе со строкой с KeyboardInterrupt
"это полный код Trace, за исключением KeyboardInterrupt" да что ж вы какой упорный. Проще было давно уже полностью скопировать в вопрос. KeyboardInterrupt - это тоже часть трейса.
@insolor поправил топик.
@CrazyElf не думал, что одно слово так важно, когда я про него написал.

last day (15 days later) »