상태
다음에 연결된 컴퓨터(Ubuntu 14.04 실행)네트워크로 연결된컴퓨터 자체의 전원 공급을 제어하는 장치입니다.
특정 정보를 받은 후 signal A
컴퓨터는~ 해야 하다signal B
이 네트워크 장치에 명령을 보내면 무엇보다도 컴퓨터의 전원이 차단됩니다.
질문
signal B
정전으로 인한 피해를 최소화하려면 언제 연결된 장치로 보내야 합니까 ?
signal A
종료 시퀀스의 어딘가에 send를 사용하여 종료 시퀀스를 트리거할 수 있다고 가정합니다 signal B
. 그런데 실제로 언제 보내야 할까요?
내 생각엔 /etc/rc0.d
아래와 같을 것 같아
K98signalB # Actually sends signalB to cut power
K99networking # Renamed from K01networking, since I need to keep networking alive
답변1
리눅스라고 가정하자
나는 몇 년 전에 비슷한 일을 했습니다. 제가 대답할 수 없는 질문은 적절한 시간에 네트워크를 계속 사용할 수 있는지 여부입니다.
실제로 연결을 해제하려면 SystemD 또는 sysvinit에 연결하는 대신 커널 모드를 사용하여 커널에 직접 연결해 보아야 합니다.
이 주제를 검색했을 때 여기에서 몇 가지 정보를 찾았습니다.Linux 커널의 시스템 종료 내부는 어떻게 작동합니까?
이로 인해 여기에 커널 코드가 표시되었습니다. https://elixir.bootlin.com/linux/v5.0.5/source/arch/arm64/kernel/process.c#L136
void machine_power_off(void)
{
local_irq_disable();
smp_send_stop();
if (pm_power_off)
pm_power_off();
}
이를 올바르게 수행하려면 네트워크를 통해 전원 스위치와 통신하는 기능이 포함된 커널 모듈을 작성한 다음 함수 포인터에 해당 기능을 등록해야 합니다 pm_power_off
.
시스템 종료를 트리거하는 것은 시스템에 따라 더 다를 수 있습니다. 가장 쉬운 방법은 아마도 sutdown
또는 같은 기존 명령줄 프로그램을 호출하는 것입니다 poweroff
.