0

子プロセスを起動せずに( Objetive-Cではなく) C++を使用して Mac OS X を再起動するにはどうすればよいですか? 不謹慎でも構いません。

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

2 に答える 2

3

新しいプロセスを作成したくない理由はわかりませんが、本当にしたくない場合は、execve("reboot",0,0)が実行されreboot、現在のプロセスが置き換えられます。を含める必要があります<unistd.h>

これは Mac OS で利用できると思います。すべての POSIX プラットフォームにあるはずです。

アップデート

Mac OS にはrebootシステム コールがあるようです。reboot(RB_AUTOBOOT);あなたが望むことをするかもしれません。または、ハードドライブが壊れる可能性があります。このようなオペレーティング システムに対して作業を行う場合は、十分に注意してください。

于 2010-08-02T11:40:20.073 に答える
0

JMP 0xFFFF0

:-)

于 2010-08-02T10:53:06.690 に答える