Magic SysRq 키
Magic SysRq key![]() | 이 글은 설명서나 안내서처럼 쓰여 있다.(2012년 6월) (이 를 과 시기 |
매직 SysRq 키는 리눅스 커널에서 이해한 키 조합으로, 사용자는 시스템 상태에 관계없이 다양한 로우 레벨 명령을 수행할 수 있다.일시 중지 상태에서 복구하거나 파일 시스템을 손상시키지 않고 시스템을 재부팅하는 데 종종 사용된다.[1]그 효과는 컴퓨터의 하드웨어 재설정 버튼(또는 전원 스위치)과 유사하지만 더 많은 옵션과 훨씬 더 많은 제어 기능을 가지고 있다.
이 키 조합을 통해 소프트웨어 개발 및 재해 복구를 위한 강력한 기능에 액세스할 수 있다.이런 의미에서 탈출 시퀀스의 한 형태로 볼 수 있다.제공된 명령 중 주된 것은 파일 시스템을 강제로 마운트 해제하고 프로세스를 중지하며 키보드 상태를 복구하고 디스크에 기록되지 않은 데이터를 쓰는 것이다.이러한 업무와 관련하여, 이 기능은 최후의 수단으로서의 역할을 한다.
매직 SysRq 키는 커널 패닉이나[2] 커널이 제대로 실행되지 못하게 하는 하드웨어 장애와 같은 특정 조건에서는 작동할 수 없다.
명령
키 조합은 다음과 같이 구성된다.Alt+SysRq 및 실행된 명령을 제어하는 다른 키는 누른 상태로 유지되는 한 명령 키를 누르기 전에 해제될 수 있다SysRq.
이 조합은 항상 QWERTY 자판 배열을 가정한다.[citation needed] 예를 들어 드보락 자판 배열에서 시스템을 종료하는 조합은 키 대신 키를 사용한다. 더욱이 일부 자판에서는 별도의 키를 제공하지 않을 수도 있다.이 경우 별도의 키가 있어야 한다.
특히 랩톱을 비롯한 일부 장치에서는 키를 눌러야 할 수 있다. 예를 들어, Thinkpad Carbon X1에서 는 ++FnS를 동시에 누른 다음 해제하고 고정하는 동안 활성화된다(여기 참조).
또한 키보드 없이도 SysRq 기능에 액세스할 수 있다.아래의 § 기타 Magic SysRq 호출 방법을 참조하십시오.일부 명령은 의 비트마스크 값에 지정된 대로 상자에서 사용하지 않도록 설정할 수 있다는 점에 유의하십시오./proc/sys/kernel/sysrq
.[3]
액션 | QWERTY | 드보락 | 아저티 | 콜막 |
---|---|---|---|---|
콘솔로 출력되는 커널 메시지 유형을 제어하는 콘솔 로그 수준 설정 | 0 - 9 | 0 - 9 | 0 - 9 (없음) | 0 - 9 |
파일 시스템을 마운트 해제하거나 동기화하지 않고 즉시 시스템 재부팅 | b | x | b | b |
시스템 충돌을 수행하십시오.크래시 덤프가 구성된 경우 취해진다. | c | j | c | c |
현재 보유 중인 모든 잠금 표시(잠금)CONFIG_LOCDEP 커널 옵션 필요) | d | e | d | s |
Init(PID 1)를 제외한 모든 프로세스에 SIGTERM 신호 전송 | e | . | e | f |
OOM 상태를 완화하기 위한 프로세스를 죽이는 oom_kill 호출 | f | u | f | t |
커널 모드 설정을 사용하는 경우 커널의 프레임 버퍼 콘솔로 전환하십시오.[4] 인커널 디버거 kdb가 있으면 디버거를 입력하십시오. | g | i | g | d |
콘솔로 terse 도움말 문서 출력 명령에 바인딩되지 않은 키도 이 작업을 수행해야 함 | h | d | h | h |
초기화를 제외한 모든 프로세스에 SIGKILL 신호 전송 | i | c | i | u |
강제 "그냥 해동" – FIFREZE ioctl에 의해 고정된 파일 시스템. | j | h | j | n |
현재 가상 콘솔에서 모든 프로세스 제거(X 및 SVGAlib 프로그램을 제거할 수 있음, 아래 참조) 이것은 원래 보안 주의 키를 모방하기 위해 고안되었다. | k | t | k | e |
모든 활성 CPU에 대한 스택 역추적을 표시한다. | l | n | l | i |
콘솔로 전류 메모리 정보 출력 | m | m | , | m |
모든 높은 우선순위 및 실시간 작업의 적절한 수준 재설정 | n | b | n | k |
시스템 종료 | o | r | o | y |
현재 레지스터 및 플래그를 콘솔로 출력 | p | l | p | ; |
모든 활성 고해상도 타이머 및 클럭 소스를 표시하십시오. | q | ' | a | q |
X11 및 SVGAlib와 같은 프로그램에서 사용하는 키보드를 Raw mode에서 XLAT 모드로 전환 | r | p | r | p |
마운트된 모든 파일 시스템 동기화 | s | o | s | r |
콘솔로 현재 태스크 및 태스크 정보 목록 출력 | t | y | t | g |
마운트된 모든 파일 시스템을 읽기 전용 모드로 다시 마운트 | u | g | u | l |
프레임 버퍼 콘솔을 강제로 복원하십시오. ARM 프로세서의 경우 대신 ETM 버퍼 덤프를 발생시키십시오. | v | k | v | v |
차단된(D 상태) 태스크 목록 표시 | w | , | z | w |
PowerPC 플랫폼의 xmon 인터페이스에서 사용.일부 커널에 대한 잠금(보안 부팅 제한) 사용 안 함 | x | q | x | x |
글로벌 CPU 레지스터 표시(SPARC-64 특정) | y | f | y | j |
ftrace 버퍼 덤프 | z | ; | w | z |
x86_64 커널의 h+ 출력:
sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(v) show-blocked-tasks(w) dump-ftrace-properties(z)
사용하다
마법의 SysRq 키는 일반적으로 다른 방법으로 잠긴 리눅스 시스템의 안전한 재부팅을 수행하는 것이다(abbr).Reisub).이렇게 하면 재부팅 시 FSCK가 필요한 것을 방지할 수 있으며 일부 프로그램에서는 저장되지 않은 작업의 긴급 백업을 저장할 수 있다.[5]QWERTY(또는 AZERTY) 연상키: R"아잉 레판트E s o tterly oring", R"eboot ven ystem tterly roken" 또는 단순히 거꾸로 읽히는 "BUSIER" 단어들은 종종 다음과 같은 SysRq-key 시퀀스를 기억하기 위해 사용된다.
- unawR (X에서 키보드 제어권 되찾기),
- 트라이앵글E(SIGTERM을 모든 프로세스에 전송하여 정상적으로 종료할 수 있음)
- kllI(초기화를 제외한 모든 프로세스에 SIGKill을 전송하여 즉시 종료하도록 강제함)
- Sync(데이터를 디스크에 저장)
- Unmount(모든 파일 시스템 읽기 전용 제거)
- 도보로B 가다
냉동 그래픽 프로그램을 죽이기 위해 마법의 키를 사용할 경우, 프로그램은 텍스트 모드를 복원할 기회가 없다.이것은 모든 것을 읽을 수 없게 만들 수 있다.명령 텍스트 모드(SVGAlib의 일부)와 재설정 명령은 텍스트 모드를 복원하고 콘솔을 다시 읽을 수 있게 만들 수 있다.
텍스트 모드 명령을 포함하지 않는 배포에서 키 명령 ++AltF1는 텍스트 콘솔로 강제 반환할 수 있는 경우도 있다.(여기서 n은 배포에 의해 설정된 텍스트 콘솔의 가장 높은 수입니다.Ctrl++AltF(n+1)는 일반적으로 X 서버가 충돌하지 않은 시스템에서 GUI 모드로 재진입하는 데 사용된다.또한 Alt+ + (,F3 ...)F(n-2)가 텍스트 콘솔을 열고, ++AltF1 GUI 모드로 재진입하며, +++AltF2 로그인 페이지에서 다른 사용자를 로그인하기 위해 GUI 모드로 재진입하는 배포도 있다.
배열
이 기능은 커널 구성의 컴파일 시간 옵션 CONFIG_MAGIAL_SYSRQ와 sysctl 커널 매개 변수인 커널.sysrq에 의해 제어된다.
새로운 커널(2.6.12[6] 이후)에서는 매직 SysRq 키를 어떻게 사용할 수 있는지에 대해 보다 세밀한 제어를 할 수 있다.[7]이러한 시스템에서 /proc/sys/커널/sysrq에 쓴 숫자는 0, 1 또는 1보다 큰 숫자일 수 있으며, 이는 허용할 형상을 나타내는 비트마스크일 수 있다.Ubuntu에서는 부팅 시 /etc/sysctl.d/10-magic-sysrq.conf 에 정의된 값으로 설정된다.
Magic SysRq를 호출하는 다른 방법
매직 SysRq 키는 원래 디버깅을 위한 커널의 키보드 핸들러의 일부로 구현되었지만, 기능도 proc 파일 시스템을 통해 노출되었으며, 일반적으로 헤드리스 및 원격 시스템에 확장된 관리 기능을 제공하는 데 사용된다.사용자 공간 프로그램(명령줄 셸 등)에서 /proc/sysrq-트리거(예:echo s > /proc/sysrq-trigger
).[1]
많은 임베디드 시스템에는 키보드가 연결되어 있지 않지만, 실행 중인 시스템에 텍스트 입출력용 시리얼 콘솔을 사용한다.시리얼 브레이크 신호를 보낸 다음 원하는 키를 전송하여 시리얼 콘솔을 통해 Magic SysRq 기능을 호출할 수 있다.휴식 시간을 보내는 방법은 시리얼 콘솔에 연결하는 데 사용되는 단말 프로그램이나 하드웨어에 따라 달라진다.이 기능을 활성화하려면 sysctl 옵션을 설정해야 한다.[8]
리눅스 데몬스 sysrqd와[9] tcpconsole은[10] 일반 텍스트 암호로 인증한 후 TCP 연결을 통해 SysRq 기능에 액세스하는 방법을 제공한다.행워치[11] 데몬은 시스템 로드 평균이 특정 임계값을 초과할 때 사전 구성된 SysRq 트리거를 호출한다.
Xen 하이퍼바이저에는 xm sysrq 명령을 통해 호스팅된 도메인에 매직 명령을 전송할 수 있는 기능이 있다.[12]또한 Xen 반가상화 콘솔에서 브레이크 시퀀스 O+에 이어 원하는 키를 전송하여 SysRq 명령을 호출할 수 있다.
크롬북은 키보드가 있지만 전용 SysRq 키는 없다.대신 VolumeUp+(+)AltF10[13][14][15]를 사용하지만 일부 키의 기능은 다르다.[16][17]
IBM Power Systems 서버는 O+에 이어 하드웨어 관리 콘솔에서 원하는 키를 사용하여 Magic SysRq 기능을 호출할 수 있다.
IBM 메인프레임 파티션은 -+에 이어 3270 또는 HMC 콘솔에서 원하는 키를 사용하여 Magic SysRq 기능을 호출할 수 있다.
참고 항목
- Stop-A, Sun Microsystems의 Open Firmware(OpenBoot)에 액세스하는 데 사용되는 키 시퀀스
- 콘솔 서버
- KVM 스위치
- 시스템 콘솔
참조
- ^ a b "Linux Magic System Request Key Hacks". kernel.org. 2013-08-12. Retrieved 2017-05-21.
- ^ Khamlichi, Mel (18 Oct 2010), Use Magic SysRq Combination Key to Recover from a Frozen System in Linux, Unixmen, archived from the original on 20 August 2014, retrieved 21 Sep 2014.
- ^ Linux Magic System Request Key Hacks — Linux 커널 설명서
- ^ Barnes, Jesse (2008-11-07). "DRM: i915: add mode setting support". Git (commit). Kernel. Retrieved 2013-08-31.
- ^ Peddicord, Jacob (2007-09-08). "Fix a Frozen System with the Magic SysRq Keys". Fosswire. Retrieved 2013-08-31.
- ^ Calleja, Diego (2012-07-17). "Linux 2.6.12". Linux Kernel Newbies. Retrieved 2013-08-31.
- ^ "QA/Sysrq". Fedora Project. 2013-05-09. Retrieved 2015-04-09.
- ^ Turner, Glen; Komarinski, Mark F (2003-03-31). "Magic SysRq key". Remote Serial Console How-To. The Linux Documentation Project. Retrieved 2015-05-08.
- ^ Danjou, Julien. "sysrqd" (project). Retrieved 2016-09-13.
- ^ van Heusden, Folkert. "tcpconsole". Retrieved 2013-08-31.
- ^ Morgan, Paul. "hangwatch". GitHub. Retrieved 2013-08-31.
- ^ "27. The xm command quick reference", Enterprise Linux 5 Virtualization Guide, RedHat, retrieved 2013-08-31
- ^ "Debug Button Shortcuts". Chromium OS docs. Retrieved 2018-10-22.
- ^ "Change 29110: CHROMIUM: sysrq: treat F10 as magic sysrq key". Retrieved 2016-07-11.
- ^ "Chromium OS dev: SysRq in ChromiumOS' kernel". Retrieved 2016-07-11.
- ^ "Helping debug system hangs". The Chromium Projects. Retrieved 2018-09-25.
- ^ "CHROMIUM: sysrq: add ability for sysrq-x to signal chrome/X". Retrieved 2018-04-12.
외부 링크
![]() | Wikibook Linux Guide에는 다음과 같은 주제의 페이지가 있다.얼리다 |
![]() | 위키미디어 커먼스는 매직 SysRq 키와 관련된 미디어를 보유하고 있다. |
- "Documentation/sysrq.txt". Linux (kernel source tree). kernel.org. Retrieved 2017-01-31.
- "Linux Magic System Request Key Hacks". Linux (linux kernel documentation). kernel.org. Retrieved 2020-06-01.
- Morton, Andrew (2013-03-13). "Kernel patch to the -mm tree that added the /proc/sysrq-trigger feature: This makes sysrq facilities available to remote users". Retrieved 2015-04-09.
- Lawrence, Tony (2005-04-13). "Magic Sysrq Key on Linux". AP Lawrence. Retrieved 2015-04-09.
- Gall, Tom (2000-04-01). "Magic sys request". Developer works. IBM. Archived from the original on 2007-05-27. Retrieved 2013-09-03.