私のLinuxシステムに2つの再起動実装があるように見えるのはなぜですか?
# find . -name "reboot"
./etc/init.d/reboot
./sbin/reboot
ベストアンサー1
/sbin/reboot は実際のバイナリで、実際にはデーモンを停止するシンボリックリンクです。
$ls -la /sbin/reboot
lrwxrwxrwx 1 root root 4 Apr 6 2015 /sbin/reboot -> halt
一時停止バイナリは、コマンドラインから一時停止または再開を呼び出すときに動作が異なる方法でコーディングされます。
/etc/init.d/reboot は、実際には次のように終了するとランレベル 6 で呼び出されるスクリプトです。
/etc/init.d/rc6.d/K10reboot
ご覧のとおり:
$ ls -la /etc/rc6.d/K10reboot
lrwxrwxrwx 1 root root 16 Nov 14 18:19 /etc/rc6.d/K10reboot -> ../init.d/reboot
停止オプションで呼び出されると、上記のKxxシンボリックリンクなどの実際の/etc/init.d/rebootは、次のように再起動バイナリを呼び出します。
reboot -d -f -i
<もっとマンリブート>の中から
-d Don't write the wtmp record.
-i Shut down all network interfaces just before halt or reboot.
-f Force halt or reboot, don't call shutdown(8).
Kxxx スクリプトとランレベル 6 に関する注意事項は Sys V init スクリプトの一部です。
ここの説明をご覧ください。