Cada console tem um processo associado a ele. Você pode encontrá-los na lista de processos com bastante facilidade. No Ubuntu, ele é chamado getty
ou agetty
. Em outros sistemas, pode ser login
, ou pode ser apenas um processo de shell.
Tudo o que você precisa fazer é desabilitar esse processo para desligar a porta serial. Você não pode matá-lo porque init
apenas gerará um novo, mas você poderá pausá-lo:
kill -STOP <pid>
Onde você encontra <pid>
com ps
.
Então, quando quiser reativá-lo, você o reinicia:
kill -CONT <pid>
Ou, se você quiser começar de novo, mate-o e deixe o respawn acontecer:
kill -KILL <pid>
É claro que você deve se lembrar de reiniciá-lo antes de sair do telnet. Se você quer algo mais à prova de erros, depende dos utilitários que seu sistema possui. Se você tiver cron
, poderá configurar algo que verifique se o telnet desapareceu (desde a última vez em que o localizou) e reinicia o terminal serial. Seria um pouco complicado, mas possível. Se você não tiver o cron, inicie algum tipo de processo em segundo plano que seja ativado no SIGHUP e reinicie. Isso é provavelmente ainda mais complicado.