Eu tenho dois RPIs ativos. Ambos têm o script: adxl345test.py
Este script coleta dados de um acelerômetro. Eu normalmente inicio o script em um RPi e inicio o script no outro RPi. Eu corro os scripts dos dois RPIs em um RPi.
De modo que um RPi comece a executar seu próprio script e um script externo do outro RPi.
Eu disparo os scripts em cada RPi escrevendo sudo python adxl345test.py
no console e pressionando Enter. Os relógios são sincronizados com o PTPd.
Os RPi estão em rede.
Eu corro ambos os scripts através de um comando. Aqui está:
pi@Sensor1:~ $ sudo python adxl345test.py & sshpass -p 'password' ssh pi@ip sudo python adxl345test.py
Usando sshpass ( sudo apt-get install sshpass
) eu consegui digitar a senha diretamente no comando.
Agora quero parar de gravar dados! Normalmente eu usaria Ctrl + C mas isso só funciona quando rodando um único script em um RPi.
O que estou procurando é parar os scripts escrevendo um único comando no console de um RPi. A precisão não é tão importante no momento.
Eu estava pensando em usar o seguinte comando:
sudo killall python & sshpass -p 'password' ssh pi@ip sudo killall python
--- OBRAS editadas!
Este comando impede que o RPi colete dados. Em um RPi, tudo está bem e os dados são registrados corretamente, no entanto, no outro RPi, por algum motivo, não registra nenhum dado, mesmo que fosse necessário.
Eu quero impedir que os dois RPIs colecionem dados após x segundos.
Acontece que o script que eu estava executando não tinha uma definição importante. Então agora o comando killall mencionado acima funciona e os dados também são mantidos adequadamente.