首页 > 解决方案 > ROS CPP 等效于 Python subprocess.call() with shell=True

问题描述

以下代码片段在 ROS Indigo (Python 2.7) 中运行良好 -

import subprocess
subprocess.call(["rosnode", "kill", "my_node"], shell=True)

但是,我正在寻找与上述功能等效的 ROS CPP。该system命令不起作用,因为指定的命令应该通过 shell 执行。

标签: pythonc++ros

解决方案


.system()方法就是这样。

之前,我在 ROS 包中使用了这种方法,如下手动发布主题:

system("rostopic pub -1 /tilt_scan_controller/command std_msgs/Float64 -- 0.0"); 

在您的情况下将是:

system("rosnode kill <your-node-name>"); 

推荐阅读