Перезапустить Mac OS X без излишних усилий, используя вызов C++?
Как перезапустить Mac OS X, используя C++ (не Objetive-C), не вызывая дочерние процессы? Не волнует, если это безобразно.
system("reboot"); //Is not acceptable as it relies on invoking a process
2 ответа
Решение
Я не могу понять, почему вы не хотите создавать новый процесс, но если вы действительно не хотите, то execve("reboot",0,0)
побежит reboot
, заменяя текущий процесс. Вам нужно будет включить <unistd.h>
,
Я предполагаю, что это доступно в Mac OS; это должно быть на всех платформах POSIX.
ОБНОВИТЬ
Похоже, что Mac OS имеет reboot
системный вызов. reboot(RB_AUTOBOOT);
может делать то, что вы хотите. Или это может испортить ваш жесткий диск. Будьте очень осторожны, когда пытаетесь работать против такой операционной системы.