Как на языке с++ осуществить перезагрузку системы Linux?
Ядро версии 3.10.32. Как вариант, как в принципе запускать bash скрипты или бинарники?
Ответы (1 шт):
Автор решения: sepera_okeq
→ Ссылка
Функция и макрос полной перезагрузки Linux описан здесь как #define RB_AUTOBOOT 0x01234567. Благодаря glibc вы можете передать константу макроса RB_AUTOBOOT для выполнения перезагрузки.
P.S Учтите, при перезагрузке не происходит сихронизация, поэтому данные могут быть потеряны.
Пример:
#include <unistd.h>
#include <sys/reboot.h>
sync();
reboot(RB_AUTOBOOT);