Перезапустить 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); может делать то, что вы хотите. Или это может испортить ваш жесткий диск. Будьте очень осторожны, когда пытаетесь работать против такой операционной системы.

JMP 0xFFFF0

:-)

Другие вопросы по тегам