나는 아직도 사람들이 sync; sync; sync; sleep 30; halt
리눅스를 셧다운하거나 재부팅하는 것에 대해 이야기 할 때 주문을 사용하는 것이 좋습니다 .
필자는 리눅스를 처음 시작한 이후로 운영해 왔으며 이것이 BSD 4.2 / 4.3 및 SunOS 4 일에서 권장되는 절차 였지만 적어도 지난 10 년 동안 그렇게해야한다는 것을 기억할 수 없습니다. 아마 리눅스의 셧다운 / 재부팅을 통해 수천 번을 겪었습니다.
커널이 단일 사용자 모드 (예 : / tmp)에서도 필요한 루트 파일 시스템 및 기타 중요한 파일 시스템을 마운트 해제하고 동기화 할 수 없었기 때문에 이것이 비동기 일로 의심되므로 플러시하도록 명시 적으로 지시해야했습니다 디스크에 가능한 한 많은 데이터.
요즘 커널 소스에서 관련 코드를 찾지 않고 ( http://lxr.linux.no 및 google을 통해 파고 들어 ) 커널이 루트 파일 시스템조차 깨끗하게 마운트 해제 할 수있을만큼 똑똑하고 파일 시스템이 충분히 똑똑하다고 생각합니다 정상 shutdown
/ reboot
/ 동안 자체 마운트를 해제하기 전에 sync (2)를 효과적으로 수행합니다 poweorff
.
는 "sync; sync; sync"
파일 시스템 (예 : 부하가 너무없는 마운트 해제 깨끗하게 (예 : 물리 디스크 오류) 또는 시스템 만 직접 재부팅 (8)을 강제하는 것은 그 동결의 그것을 밖으로 얻을 것이다 상태입니다 곳 극단적 인 경우에만 필요 종료 명령을 예약하도록하려면 high).
또한 sync
이동식 장치를 마운트 해제하기 전에 절차를 수행하지 않으며 문제가 발생하지 않습니다.
또 다른 예-Xen은 DomU가 shutdown
Dom0에서 명령을 전송하도록 허용합니다. 이는 누군가가 sync; sync; sync
먼저 마법을 입력하고 입력하지 않아도 "완전 종료"로 간주됩니다 .
수천 건의 시스템 종료로 인해 맞습니까?