关键词:妙算(Linux),OSDK程序自启动,Linux启动脚本
关于OSDK程序的开发和启动,因为开发过程中基本都是手动命令行编译、调试和启动。但因为OSDK作为机载端的程序,实际release使用中的程序是无法通过操作来启动的,当然基于最基础的启动过程,开发程序与终端交互来启动暂不考虑。这样就存在一个问题,程序部署在了机载计算机上,例如妙算,我们怎样按照要求来启动我们开发的OSDK程序呢?
考虑这个问题,其实也很简单,基本原理就是我们机载计算机上电启动时,能让我们的OSDK应用程序能跟着一起启动,这样就变成了OSDK程序上电自启动。在Linux环境中,自然就可以考虑启动脚本。关于Linux程序自启动有几种不同的启动方式,这边介绍一种最基础的脚本启动方式。
先大致介绍一下,Linux环境中脚本文件/etc/rc.local 会在系统启动完成后调用执行,这也就意味着我们将需要启动的程序添加到这个脚本中,我们就可以在系统启动后执行我们想要执行的动作,无需手动操作。
这边以ubuntu 1604为例,其他基本一致。找到并打开/etc/rc.local
其中work_path是我本地环境中执行文件路径,对应部署到机载计算机中将work_path对应到程序、配置文件、log生成路径即可。
复制出来:
echo "rc.local start the Application ..."
work_path=/home/work/Onboard-SDK-master/build/bin
$work_path/djiosdk-telemetry-sample $work_path/UserConfig.txt >$work_path/terminal.txt 2>&1 &
exit 0
当然,这里完全可以根据需要来设计或编写启动方案,方便起见,这里仅提供一个命令行启动程序的指令。
然后需要注意修改rc.local可执行权限
chmod +x /etc/rc.local
验证一下,
reboot
检查work_path路径下生成文件terminal.txt,程序自启动完成。
温馨提示,
在调试的时候,不要使用起飞的程序来调试,可能存在上电就控制起飞的安全隐患。
评论
0 条评论
请登录写评论。