Захватите и сохраните запущенный процесс

Я хочу записать «печать («Запись положения GPS...»)» на SD-карту. На данный момент это печать на терминале напрямую. Я хочу захватить этот процесс выполнения (p_1) с терминала и сохранить на SD-карте по мере его выполнения. Как мне это сделать?

Также в целом, как можно захватить и сохранить процессы во время выполнения с терминала и сохранить на SD-карте (обратите внимание, я хочу хранить процессы во время их выполнения, а не после их выполнения).

import sys
import os
import time
import subprocess, shlex
import signal
import serial
import psutil
from subprocess import Popen, PIPE

def recording():
    flag = 0
    ser = serial.Serial('/dev/ttyACM0', 921600, timeout=1)
    ser.flushOutput()

    # ROSBAG Recordings (Shell commands that execute the messages on the terminal)

    messages = 'rosbag record -o GPS_Position.bag dji_sdk/gps_position', 'rosbag record -o IMU_Data.bag dji_sdk/imu', 'rosbag record -o Attitude.bag dji_sdk/attitude', 'rosbag record -o Velodyne_Packets.bag velodyne_packets', 'rosbag record -o Velodyne_Points.bag velodyne_points',  # rosbag record -o Velocity.bag dji_sdk/velocity'

    while flag == 0:
        try:
            args1 = shlex.split(messages[0])  # messages[0] = rosbag record -o GPS_Position.bag dji_sdk/gps_position
            #print (args1)
            p_1 = subprocess.Popen(args1, stdout=PIPE)
            print('Recording GPS Position...')
            p_1.stdout.flush()

person Ajinkya    schedule 01.11.2017    source источник


Ответы (1)


Вы захотите выбрать каталог для своей SD-карты, и вместо print() подключения к терминалу вы write() перейдете к выбранному файлу.

Вот документация: https://docs.python.org/3/tutorial/inputoutput.html

Изменить: здесь ответили лучше https://stackoverflow.com/a/8024254/8240691, но это все равно стоило бы Ваше время просмотреть документацию по вводу/выводу.

person Luke McPuke    schedule 01.11.2017
comment
Спасибо, я смог заставить его работать в текстовом формате, пожалуйста, смотрите здесь: заголовок stackoverflow.com/questions/47079458/. Я пытаюсь изменить формат txt на формат пакета. - person Ajinkya; 02.11.2017