Перезапустить Mac OS X без излишних усилий, используя вызов C ++? - PullRequest
0 голосов
/ 02 августа 2010

Как перезапустить Mac OS X с помощью C ++ (, а не Objetive-C ) без вызова каких-либо дочерних процессов? Не волнует, если это безобразно .

system("reboot"); //Is not acceptable as it relies on invoking a process

Ответы [ 2 ]

3 голосов
/ 02 августа 2010

Я не могу понять, почему вы не хотите создавать новый процесс, но если вы действительно этого не хотите, то execve("reboot",0,0) запустит reboot, заменив текущий процесс. Вам нужно будет включить <unistd.h>.

Я предполагаю, что это доступно в Mac OS; это должно быть на всех платформах POSIX.

UPDATE

Похоже, что Mac OS имеет системный вызов reboot. reboot(RB_AUTOBOOT); может делать то, что вы хотите. Или это может испортить ваш жесткий диск. Будьте очень осторожны при работе с такой операционной системой.

0 голосов
/ 02 августа 2010

JMP 0xFFFF0

: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...