我有一个通过以下命令在终端中执行的应用程序:
rosbag record -O /home/user/some_address/file /topic
它file.bag.active
在上面的地址中做了一个,基本上在里面记录了一些信息。
一段时间后,通过在终端中按 ctrl+cfile.bag.active
更改,file.bag
并将准备好被另一个应用程序读取。
然而,我想通过一个 python 脚本完成这个序列,最好的方法似乎是执行以下操作:
import subprocess, shlex
command = "rosbag record -O /home/user/some_address/file /topic"
command = shlex.split(command)
self.proc = subprocess.Popen(command)
用于表示 ctrl+c 函数的脚本的另一部分是:
self.proc.send_signal(subprocess.signal.SIGINT)
但是,在这种情况下,file.bag.active
文件不会更改为file.bag
,我不确定我还能做什么或添加到此代码中。
另外我注意到的是,如果我添加一个 pdb.set_trace() 并在调用它时在其中按 ctrl+c,我会得到我要查找的结果,我无法解释为什么或如何在自动码。
有谁知道它的解决方法?