systemd/init가 없을 때(예: init=/bin/bash 사용) 전원을 끄는 방법은 무엇입니까?

systemd/init가 없을 때(예: init=/bin/bash 사용) 전원을 끄는 방법은 무엇입니까?

poweroffDBus를 통해 systemd에 연결할 수 없다고 불평합니다(물론 존재하지 않습니다). 그런 다음 pid 1이 죽으면 커널의 전원이 꺼질 것이라고 생각하여 sync실행했지만 이로 인해 커널 패닉이 발생했습니다. kill $$그런 다음 전원 버튼을 눌러 전원을 강제로 껐습니다.

이 상황에서 가장 올바른 종료 방법은 무엇입니까?

답변1

간단히 다음 두 명령을 실행하겠습니다.

echo s > /proc/sysrq-trigger    <= For sync
echo o > /proc/sysrq-trigger    <= For shutdown the system

커널에서 매직 키가 활성화되어 있다고 가정

답변2

마운트된 파일 시스템을 마운트 해제합니다. 루트 파일 시스템은 특별한 경우입니다. mount / -o remount,roLinux에서는 umount /이전 명령으로 효과적으로 변환되므로 이 방법도 작동합니다.


즉, 제거에 대해 너무 많이 걱정할 필요가 없습니다.

  1. FAT(EFI 시스템 파티션에서 사용) 또는 ext2와 같이 로깅이나 동등한 기능을 구현하지 않는 이전 파일 시스템을 설치했습니다. 최신 파일 시스템의 경우 sync이것으로 충분하며 파일 시스템은 다음 부팅 시 빠르게 자체 복구됩니다.
  2. 실행 중인 프로세스를 파일 시스템에 기록하고 완전히 종료하려고 할 수 있습니다. 이 경우 파일 시스템 마운트 해제를 시도하는 것이 유용합니다. 마운트 해제가 실패하고 나머지 기록기에 대해 알리는 바쁜 오류가 발생하기 때문입니다.

위의 내용이 중요한 부분입니다. 나중에 편리하게 하드웨어 전원을 끌 수도 있습니다 poweroff -f. 또는 restart 를 사용하세요 reboot -f.

systemd특정한 상응하는 항목이 있습니다 poweroff -f: systemctl poweroff -f -f. 그러나 poweroff -f이는 동일한 작업을 수행하며 systemdSysV 호환성 없이 빌드하는 경우에도 이 명령이 지원됩니다.


기술적으로 USB 하드 드라이브에 Windows "안전 제거" 또는 이와 동등한 기능이 필요하다고 기록되어 있는 것을 기억합니다. 그러나 이 요구 사항은 안전하지 않으며 Linux는 정상적인 종료 중에 이를 수행하지 않습니다. 더 나은 설명은 하드 드라이브가 회전하는 동안 플러그를 뽑으려고 하는 것을 포함하여 하드 드라이브를 살짝 밀면 안 된다는 것입니다. 전원을 완전히 끄면 드라이브 회전이 중지됩니다. 멈추지 않는지 듣고, 느끼고, 볼 수 있습니다. :-).

답변3

사실 당신이 전화하고 싶은 건다시 시작(2)시스템 호출.

이를 수행하는 방법에는 두 가지가 있습니다.

  1. run reboot -f또는 poweroff -f, 직접 호출해야 합니다 reboot(2).

  2. 실제 Linux 가상 터미널(GUI 터미널 에뮬레이터 아님)을 사용하는 경우 Ctrl+ Alt+ 를 누르세요 Delete.

일부 사용자 공간 프로그램(일반적으로 init)은 키보드 단축키를 비활성화할 수 있으며, 비활성화되면 init에 신호를 보냅니다.

모든 디스크를 마운트 해제하거나 읽기 전용으로 다시 마운트하고 동기화를 실행한 후에 위의 모든 명령을 완료해야 합니다. 그렇지 않으면 기록되지 않은 데이터가 손실될 수 있습니다. 쉘이 유일하게 실행 중인 프로세스인 경우 동기화만으로 충분할 수 있습니다.

답변4

Magic SysRq 키(https://en.wikipedia.org/wiki/Magic_SysRq_key) 컴퓨터의 전원을 끄십시오.

제대로 종료하려면 다음 명령을 사용할 수 있습니다(Wikipedia에서 인용).

SysRq 매직 키의 일반적인 용도는 잠긴 Linux 컴퓨터의 보안 재부팅(약어)을 수행하는 것입니다.리스). 이렇게 하면 fsck재부팅할 필요가 없으며 일부 프로그램에 저장되지 않은 작업의 긴급 백업을 저장할 수 있는 기회가 제공됩니다.[5]  QWERTY(또는 AZERTY) 니모닉: "오른쪽에시앙두번째코끼리에스에스테리 직물두번째오린 ","오른쪽전자 안내두번째기예에프에스체계테리 직물두번째roken" 또는 간단히 "BUSIER"라는 단어를 거꾸로 읽으면 다음 SysRq 키 시퀀스를 기억하는 데 자주 사용됩니다.

  • un Raw (X에서 키보드 제어권을 되찾음),
  • t Erminate(모든 프로세스에 SIGTERM을 보내 정상적으로 종료되도록 허용)
  • k Ill (모든 프로세스에 SIGKILL을 보내 즉시 종료되도록 함),
  • S동기화(데이터를 디스크로 플러시),
  • Unmount(모든 파일 시스템을 읽기 전용으로 다시 마운트),
  • 재시작 B.

그러나 마지막 B를 다음으로 바꾸십시오.산소(azerty/qwerty용) "Power"용산소"FF"

관련 정보