如何使用以下命令重新启动 Mac OS XC++ (不是 Objective-C)而不调用任何子进程?不在乎是不是不优雅的.
system("reboot"); //Is not acceptable as it relies on invoking a process
我不明白为什么你不想创建一个新的流程,但如果你真的不想,那么execve("reboot",0,0)
会跑reboot
,替换当前进程。您需要包括<unistd.h>
.
我假设这在 Mac 操作系统上可用;它应该在所有 POSIX 平台上。
UPDATE
Mac OS 似乎有一个reboot http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man2/reboot.2.html系统调用。reboot(RB_AUTOBOOT);
可能会做你想做的事。否则它可能会损坏您的硬盘。尝试像这样针对操作系统进行操作时要非常小心。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)