子プロセスを起動せずに( Objetive-Cではなく) C++を使用して Mac OS X を再起動するにはどうすればよいですか? 不謹慎でも構いません。
system("reboot"); //Is not acceptable as it relies on invoking a process
新しいプロセスを作成したくない理由はわかりませんが、本当にしたくない場合は、execve("reboot",0,0)
が実行されreboot
、現在のプロセスが置き換えられます。を含める必要があります<unistd.h>
。
これは Mac OS で利用できると思います。すべての POSIX プラットフォームにあるはずです。
アップデート
Mac OS にはreboot
システム コールがあるようです。reboot(RB_AUTOBOOT);
あなたが望むことをするかもしれません。または、ハードドライブが壊れる可能性があります。このようなオペレーティング システムに対して作業を行う場合は、十分に注意してください。
JMP 0xFFFF0
:-)