데이터 캡처 및 전송 프로세스를 자동화하는 스크립트를 작성해야 합니다.
스크립트가 있습니다MQTT.py(내 Raspberry Pi에서) 지속적으로 데이터를 캡처하여 저장합니다.myFile.dat. 나는 사용한다동기화내 컴퓨터에서 파일을 보내는 명령라즈베리 파이나에게 주어진개인용 컴퓨터.
나는 달려야 해MQTT.py데이터 캡처를 시작하는 스크립트는 다음과 같이 말합니다.1 분, 프로세스가 중지되고 파일이 내 컴퓨터로 전송된 다음 캡처 프로세스가 다시 시작되고 1분 후에 같은 일이 다시 발생합니다.
스크립트 작성을 시도했지만 mqtt.py 프로세스를 종료하는 명령이 없습니다.
while(true) do
python mqtt.py #Capturing and storing data in myFile.dat
echo "Process mqtt.py started"
sleep 60 #After 1 minute
#Command to kill process mqtt.py
echo "Process mqtt.py stopped"
#Sending myFile.dat to PC
rsync -avz --remove-source-files myFile.dat [email protected]:/home/chb-pc/Desktop/ftp
echo "File sent to destination"
done
답변1
시간 기반 요구 사항이 있으므로 timeout
다음 대안을 권장합니다.
timeout 60 python mqtt.py
timeout
명령( )을 시작 python mqtt.py
하고 지정된 기간(이 경우 60초) 동안 기다립니다. 이 후에도 명령이 계속 실행 중이면 명령을 종료하라는 신호가 명령으로 전송됩니다. 기본 신호는 SIGTERM이지만 대체 신호를 지정할 수 있습니다. 프로그램이 실제로 종료되었는지 확인하기 위해 보조 SIGKILL 신호를 보낼 수도 있습니다.
시간 초과 매뉴얼을 찾을 수 있습니다여기.