![재시작을 구현하는 두 가지 방법은 무엇입니까?](https://linux55.com/image/79711/%EC%9E%AC%EC%8B%9C%EC%9E%91%EC%9D%84%20%EA%B5%AC%ED%98%84%ED%95%98%EB%8A%94%20%EB%91%90%20%EA%B0%80%EC%A7%80%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 Linux 시스템에 재부팅 구현이 두 개 있는 것처럼 보이는 이유는 무엇입니까?
# 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 스크립트의 일부입니다.
여기 설명을 참조하세요: