Перейти к содержимому
  • 0
aMax

Проблемы с запуском демона

Вопрос

local event = require("event")
local component = require("component")
local sides = require("sides")
local rs = component.redstone
function reboot()
-- io.write("1")--для того, что-бы понять работает ли функция
 if rs.getInput(sides.back)>0 then--если подан необхадимы сигнал, то исполнить код
  io.write("reboot")--отладочная инфа
  rs.setOutput(sides.up,15)--отладочная инфа
 else 
  io.write("not reboot")--отладочная инфа
  rs.setOutput(sides.up,0)--отладочная инфа
 end
end
reboot()--запуск функции
--[[if event.listen("extra_reboot",reboot) then--запуск демона(закоментировал, потому-что пока не работает)
 io.write("programm started")--отладочная инфа
else
 io.write("programm not started")--отладочная инфа
end--]]

Вообще я столкнулся с задачей создания экстренного ребуттера компа(если программа мешает работе ОС), а перезапускать через системный блок в падло и это не интересно. Я написал код. Он работает. И даже демон запускается, но не работает... Спасибо за любую помощь)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

54 минуты назад, aMax сказал:

...

Что за extra_reboot? Это какой-то кастомный ивент? Ты делаешь где-то computer.pushSignal("extra_reboot")?

Ты такую программу в цикле должен гонять, чтобы что-то сделать. event.listten лишь создаёт слушателя, который реагирует на какие-то события.

 

P.S По поводу кода - если редстоун-сигнал принимает какая-либо из редстоун-плат, то есть сигнал redstone_changed. По быстрому написал код, не проверял, но работать должен.

local event = require("event")
local computer = require("computer")
local redstone = require("component").redstone
local rebootSide = 2 --Сторона с которой идёт приём сигнала https://minecraft-ru.gamepedia.com/OpenComputers/Sides_API

local function reboot(address, side)
	if side == reboootSide then 
		if redstone.getInput(reboootSide) > 0 then 
			computer.shutdown(true) --Перезагружаем компьютер P.S true означает перезагрузку, computer.shutdown() - просто выключение.
		end
	end
end

event.listen("redstone_changed", reboot)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, aMax сказал:

Я написал код. Он работает. И даже демон запускается, но не работает...

Что именно работает, что не работает, и что должно работать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...