systemd가 시작 시 사용된 것과 다른 TTY로 종료 메시지를 보내길 원합니다. 보다 구체적으로 말하면 시스템이 종료되기 시작하면 시스템에서 메시지를 보내야 합니다 /dev/ttyS0
.
이것이 내가 지금까지 시도한 것입니다:
systemd가 출력을 보내는 위치를 변경하도록 합니다.
systemd
--default-standard-output
/ 허용--default-standard-error
하지만 systemd가 시작되면 이러한 설정을 변경하는 방법을 찾을 수 없습니다.systemctl daemon-rexec
새로운 systemd 인스턴스에 대한 새 매개변수는 허용되지 않습니다.다음에 설명된 대로 설정을 통해
TIOCCONS
콘솔을 변경합니다 ./dev/ttyS0
이 문제: 시스템 호출이 성공한 것으로 보이지만 systemd는 계속해서 tty1로 출력을 보냅니다. 이 itctl 명령은 콘솔의 tty를 전환하는 것이 아니라 콘솔의 출력만 리디렉션하는 것 같습니다(#3 및 #4 참조).S0을 제외한 모든 가상 터미널을 닫아 systemd가 직렬 터미널로 전환하도록 강제합니다.
deallocvt
: tty1이 콘솔로 간주되기 때문에 실패합니다 (TIOCCONS
on으로 설정된 후에도/dev/ttyS0
). 각 가상 터미널에서 systemd getty 서비스를 중지하는 것도 도움이 되지 않는 것 같습니다.rm을 사용하여
/dev/tty{1..}
장치를 간단하게 제거하고 관련 Agetty 프로세스를 종료하고 systemd getty 서비스를 중지하십시오.: 여전히 작동하지 않습니다. 어쩌면 systemd가 tty1에 대한 열린 파일 설명자를 유지합니다.
이러한 모든 시도는 systemd가 종료 메시지를 인쇄하는 것을 방지하지 못했습니다 /dev/tty1
. 최후의 노력으로 고려 중입니다.데이터 베이스systemd를 편집하세요. 하지만 가능하다면 그 길로 가는 것을 피하고 싶습니다.
종료 중에 systemd가 출력을 보내는 위치를 변경하는 방법이 있습니까?