我目前有一个启动我的 ros2 节点的 bash 脚本。这工作得很好。我现在尝试将脚本作为后台任务启动并将输出写入文件。这样做时,我无法在以后终止节点。以前我通过点击Ctrl + C
终端来终止它,所有节点都停止了。我尝试通过在启动脚本时保存 PID 然后将其杀死来做同样的事情,但是节点继续运行。
是否有可能停止脚本启动的所有节点?停止所有 ros2 节点是不可能的,因为我并行启动了多个节点。
开始
"./${SCRIPTFILE}" > $LOGFILE &
echo $! > $PIDFILE
停止
kill -TERM $(cat $PIDFILE) 2> /dev/null