Skip to content
Snippets Groups Projects
Commit e85e9295 authored by Tommy Persson's avatar Tommy Persson
Browse files

bagserver/client

parent 3d48e028
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env python #!/usr/bin/env python
import subprocess
import sys
import signal
import os
import rospy import rospy
from lrs_srvs.srv import * from lrs_srvs.srv import *
procs = {}
def start_recording(req): def start_recording(req):
print "start_recording", req print "start_recording", req
command = "rosbag record -o " + req.uuid
print "COMMAND: ", command, " ".join(req.topics)
args = ["rosbag", "record", "-o", req.uuid]
args += req.topics
procs[req.uuid] = subprocess.Popen(args, 0, None, sys.stdout, sys.stdout,
preexec_fn=os.setsid)
print "STARTING: ", procs[req.uuid]
return BSStartRecordingResponse(True, 0, "") return BSStartRecordingResponse(True, 0, "")
def stop_recording(req): def stop_recording(req):
print "stop_recording", req print "stop_recording", req
print "STOPPING: ", procs[req.uuid]
pid = procs[req.uuid].pid
# procs[req.uuid].kill()
# procs[req.uuid].send_signal(signal.CTRL_C_EVENT)
os.killpg(os.getpgid(pid), signal.SIGINT)
return BSStopRecordingResponse(True, 0, "") return BSStopRecordingResponse(True, 0, "")
if __name__ == "__main__": if __name__ == "__main__":
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment