No Cisco IOS, clear line con 0aparentemente elimina uma sessão de console serial existente.
O equivalente de baixo nível mais próximo seria enviar um SIGHUP para todos os processos em um dispositivo TTY específico. Então:
pkill -HUP -t ttyS0
Se houver um processo projetado para evitar um SIGHUP, você poderá escalar removendo a -HUPopção de usar um SIGTERM normal ou ainda mais usando SIGKILL com -KILL.
O método acima deve funcionar independentemente do sistema init usado.
Um SIGHUP basicamente informa ao sistema que uma conexão TTY que usava um modem foi desconectada. Com ele, a maioria dos editores (ou quaisquer programas projetados para salvar o trabalho do usuário em caso de desconexão acidental) provavelmente salvariam uma cópia de backup de quaisquer dados não salvos para minimizar o risco de perda de trabalho. Com o SIGTERM, é mais provável que qualquer trabalho não salvo seja simplesmente perdido; com o SIGKILL, qualquer trabalho não salvo em uma sessão encerrada será perdido com certeza.
Como você parece estar usando systemd, uma maneira de nível superior de fazer isso seria usar loginctl list-sessionspara encontrar o número de ID da sessão atual em e ttyS0, em seguida, loginctl kill-session <session ID>forçar o término dessa sessão.
No Cisco IOS,
clear line con 0
aparentemente elimina uma sessão de console serial existente.O equivalente de baixo nível mais próximo seria enviar um SIGHUP para todos os processos em um dispositivo TTY específico. Então:
Se houver um processo projetado para evitar um SIGHUP, você poderá escalar removendo a
-HUP
opção de usar um SIGTERM normal ou ainda mais usando SIGKILL com-KILL
.O método acima deve funcionar independentemente do sistema init usado.
Um SIGHUP basicamente informa ao sistema que uma conexão TTY que usava um modem foi desconectada. Com ele, a maioria dos editores (ou quaisquer programas projetados para salvar o trabalho do usuário em caso de desconexão acidental) provavelmente salvariam uma cópia de backup de quaisquer dados não salvos para minimizar o risco de perda de trabalho. Com o SIGTERM, é mais provável que qualquer trabalho não salvo seja simplesmente perdido; com o SIGKILL, qualquer trabalho não salvo em uma sessão encerrada será perdido com certeza.
Como você parece estar usando
systemd
, uma maneira de nível superior de fazer isso seria usarloginctl list-sessions
para encontrar o número de ID da sessão atual em ettyS0
, em seguida,loginctl kill-session <session ID>
forçar o término dessa sessão.