모든 작업을 수행하십시오. /dev/initctl 또는 /run/initctl을 사용하십시오.

모든 작업을 수행하십시오. /dev/initctl 또는 /run/initctl을 사용하십시오.

나는 Raspberry Pi UPS 코드 작업을 해왔습니다.즉, systemd(개인 선호도 및 친숙도) 대신 sysv init를 사용하십시오. 나는 권한 있는 스크립트(아마도 /etc/rc.local의 일부이거나 /etc/rc.local에서 실행)가 init에게 거기에 있음을 알릴 수 있는 방법을 조사하고 있습니다.전원 공급 시스템의 전자 부족. 매뉴얼 페이지에는 신호를 보내기 위해 init(8)"before"에 단일 대문자("F'ailing", "O'k" 또는 엄밀히 말하면 "L"ow)를 쓰는 방법이 나와 있지만 /etc/powerstatus지금은 "then" 이 있습니다. 그것은 말한다 :/var/run/powerstatusinitSIGPWR

and 의 사용은 권장되지 않습니다 SIGPWR. /etc/powerstatusinit와 상호 작용하려는 사람들은 /run/initctl제어 채널을 사용해야 합니다. 이에 대한 자세한 문서는 sysvinit 패키지의 소스 코드를 참조하세요.

나는 본 적이원천gnu.org에서 호스팅하지만 이것을 사용하는 예제를 본 적이 없습니다.소설사물을 알려주는 인터페이스 init.

흥미롭게도 Hydra는 systemd인터페이스를 복사하려고 시도했습니다. 존재하지 않는 것과 유사한 것이 있다고 생각하지만 실제로 그것을 사용하는 것을 찾지 못했습니다. 그런 게 있나요? 예를 들어 일부 UPS 관련 소프트웨어가 가능했으면 좋겠지 nut만 그럴 수 없을 것 같습니다...

이 질문에는 "Raspberry Pi"가 언급되어 있지만 해당 플랫폼이나 해당 플랫폼에서 실행되는 Raspbian과 같은 배포판에만 국한되지 않습니다.

다음 질문과 답변은 관련 세부 정보를 입력하는 데 도움이 될 수 있습니다.

편집: 위의 Q&A 중 적어도 하나는 왜 어떤 사람들은 /dev/initctl을 가지고 있고 다른 사람들은 /run/initctl을 가지고 있는지 제안합니다. 이것은 제가 알지 못했던 것입니다(데비안의 문제입니다).

답변1

나는 그것을 사용한다고 믿습니다 reboot. strace다음 중 하나를 수행하십시오 reboot.

# strace -s 128 -f reboot

하단 어딘가에 다음이 표시됩니다.

open("/dev/initctl", O_WRONLY)          = 3
write(3, "i\31\t\3\6\0\0\0\0\0\0\0\0\0\0\0INIT_HALT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 384) = 384
close(3)

...

open("/dev/initctl", O_WRONLY)          = 3
write(3, "i\31\t\3\1\0\0\0006\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 384) = 384
close(3)

답변2

Debian에서 다음 패키지는 /run/initctl을 사용합니다: systemd, libvirt, sysvinit, refpolicy, gradm2. (에서https://codesearch.debian.net/).

나는 이것이 init에게 런레벨을 변경하라고 지시하는 일반적인 방법이라고 생각합니다.

관련 정보