Кстати при BSoD и kernel panic компьютер должен перезагружаться сам (даже если это выключено, то включается довольно легко). Проблема все-таки несколько надумана.
Много раз запускал такие процессы, ни разу дело не доходило до перезагрузки. Обычно минут за пять (в крайнем случае) удается снять такой процесс.
BSoD сейчас — очень редкая аномалия(разве что вы под ReactOS сидите), но если он возник один раз, то он обязательно появится позже. Перезагрузка не решает эту проблему окончательно.
P.S. На своих компах уже очень давно не видел BSoD и kernel panic. Что я делаю не так? У соседа частенько ноут выпадает в BSoD, но тот никак не решает эту проблему и каждый раз тратит нервы.
Только не говорите, что в нем нет способа удаленно выключить или перезагрузить компьютер, как вы тогда собрались работать с ним удаленно? Опять же тяжело довести систему до BSoD, а если довели, то простая перезагрузка — это не выход.
Скажу яснее, в ситуации, когда компьютер, с которым вы работаете удаленно, не поддается управлению, такая система — костыль, а не решение проблемы. Для решения скорее всего потребуется непосредственное вмешательство.
Это что надо сделать с компом, чтобы он на ssh не реагировал? kernel panic? Тогда там и перезагрузка не особо поможет, надо понять в чем проблема и сразу устранить.
У такого подхода есть только один плюс. Можно дополнительно вывести serial в сеть, но сейчас он практически везде выключен, да и ssh на arduino я еще не видел, а телнетом светить в сеть как-то не охота.
Короче, IMHO, либо полноценный KVM либо ssh+WOL.
А чем вам не угодил xscreensaver и блокировка через некоторое время и по хоткею?
Описанное решение не спасет, если забудете телефон у компьютера или отойдете недостаточно далеко (мне код портили, пока я был в трех метрах и наливал себе кофе).
Единственное, для чего это нужно — избежать конфликтов при установке ПО и добиться удаления всех данных вместе с приложением. Эта проблема уже решена в *nix системах.
Приложения устанавливаются и удаляются централизовано, системе известно о всех файлах и всех конфликтах. Общие настройки хранятся в /etc/, и обычно успешно удаляются вместе с приложением, настройки пользователя — в ~/.*, они сохраняются после удаления приложения, но никто не мешает убрать их в одно действие. Никаких проблем с чисткой системы, если самостоятельно ничего не ломать.
Сейчас в меня полетят камни по поводу софта, которого нет в репозиториях, но я считаю, что завернуть приложение в пакет, прежде чем ставить на систему — простое действие, которое по силам каждому (сам иногда ebuild-ы пишу).
Чтобы не удалялся из памяти при выходе из функции, позже он удаляется в деструкторе util::Lua. Можно было бы сделать еще одну шаблонную функцию (с кучей специализаций), на момент написания мне проще было обойтись лямбдой.
Мне жутко не хотелось завязывать проект на какие-то дополнительные утилиты. Пихать в репозиторий код, который может быть сгенерирован — плохо, а настраивать cmake чтобы использовал сторонние программы при сборке — лень.
А еще было интересно, можно ли решить эту задачу, не прибегая к генераторам кода, используя только средствами языка.
BSoD сейчас — очень редкая аномалия(разве что вы под ReactOS сидите), но если он возник один раз, то он обязательно появится позже. Перезагрузка не решает эту проблему окончательно.
P.S. На своих компах уже очень давно не видел BSoD и kernel panic.
Что я делаю не так?У соседа частенько ноут выпадает в BSoD, но тот никак не решает эту проблему и каждый раз тратит нервы.Скажу яснее, в ситуации, когда компьютер, с которым вы работаете удаленно, не поддается управлению, такая система — костыль, а не решение проблемы. Для решения скорее всего потребуется непосредственное вмешательство.
Короче, IMHO, либо полноценный KVM либо ssh+WOL.
Описанное решение не спасет, если забудете телефон у компьютера или отойдете недостаточно далеко (мне код портили, пока я был в трех метрах и наливал себе кофе).
Приложения устанавливаются и удаляются централизовано, системе известно о всех файлах и всех конфликтах. Общие настройки хранятся в /etc/, и обычно успешно удаляются вместе с приложением, настройки пользователя — в ~/.*, они сохраняются после удаления приложения, но никто не мешает убрать их в одно действие. Никаких проблем с чисткой системы, если самостоятельно ничего не ломать.
Сейчас в меня полетят камни по поводу софта, которого нет в репозиториях, но я считаю, что завернуть приложение в пакет, прежде чем ставить на систему — простое действие, которое по силам каждому (сам иногда ebuild-ы пишу).
А еще было интересно, можно ли решить эту задачу, не прибегая к генераторам кода, используя только средствами языка.