Executando o picocom em segundo plano sem sessão aberta

1

Eu gostaria que o picocom registrasse dados seriais em um computador remoto, sem ter que manter minha sessão ssh no computador remoto viva.

Eu tentei:

picocom <my options>

Isso morre quando eu sair.

picocom <my options> & 

Nenhuma saída no terminal e sair picocom com C-a C-x deixa o trabalho como interrompido, não o mata (eu preciso de kill -9 , um simples kill no trabalho não funciona. I então tem que limpar manualmente o tty lock em /var/lock/ ).

picocom <my options> > tmp/data.log&

então em outra sessão ssh:

tail -f tmp/data.log

Nenhum dado aparece no arquivo data.log .

bash -c "picocom --baud 115200 /dev/ttyACM1 > /home/pi/tmp/data.log" &

Nenhuma saída para o arquivo também. O trabalho se torna "Parado" imediatamente.

nohup sh -c "picocom --baud 115200 /dev/ttyACM1 > /home/pi/tmp/data.log" &

Eu recebo a saída inicial de picocom no arquivo final, mas o trabalho é encerrado.

É bom saber também: picocom não reage a C-z .

Minhas perguntas são:

  • é possível executar picocom em segundo plano?
  • quais alternativas existem para registrar o terminal serial sem uma sessão aberta?
por Gauthier 31.01.2018 / 14:39

2 respostas

1

Uma alternativa é configurar o dispositivo com stty , depois comer com o gato :

stty <my options>
nohup sh -c "cat /dev/ttyACM0 > data.log" &
    
por 31.01.2018 / 17:07
0

Assumindo que a sessão do usuário foi feita, você pode usar screen com a opção -X para enviar comandos para uma sessão de tela em execução e o comando stuff para enviar pressionamentos de teclas à janela atual.

screen -dmS newScreen bash
screen -S newScreen -X stuff "picocom <options>\n"
screen -ls
screen -r <pid>

Por favor, tome nota para colocar as cotações ao redor e a próxima linha para que os comandos sejam executados. *

... não verificaram se bash -c ou tmux seria possível também.

    
por 31.01.2018 / 15:36