zoukankan      html  css  js  c++  java
  • ARM板设置开机自启动应用程序

    ARM板设置开机自启动应用程序

    解决了开发板开机自启动应用程序的问题,写此博客用来记录,方便以后查阅。

    1、环境

    开发板:    英创开发板

    开发环境:Ubuntu16.04

    IDE:         QtCreater4

    构建套件:qmake4  +  arm-linux-g++

    2、开机启动文件

    每个板子都可能有不同的Linux内核,故启动文件不近相同,举例:

    /etc/init.d/rcS  

    /etc/init.d/rc.local

    /etc/profile

    /usr/etc/rc.local

    我的板子上是/etc/profile

    3、添加启动命令

    进入开机启动文件,在最后一行添加需要执行的命令。

    如:

    #./work/test_log                     代表直接开机执行/work下的test_log可执行文件
    
    #cd /work
    
    #./test_log                           拆解成两步执行(存在问题,每次开启一个新连接,输入用户后就会运行一个程序,累加进行)

    还可以使用开发板资料中的方法,安装烧写软件,直接将程序烧写到NandFlash     

    4、程序后台运行

    程序启动命令后添加&,进入后台启动程序

    程序可以使用命令nohup  & 支持后台运行,关闭终端后,程序也会继续运行

    完整命令

    nohup  ./work/test_log  > /dev/null & 

    将输出重定向到null设备(忽略输出),此命令支持远程服务器后台运行程序,

    开机自启可以不使用nohup  &

    关闭nohup  ,使用  ps -A查看所有进程,使用kill命令+进程号。

    5、要明确程序运行目录和程序所在目录

    我就遇到这个问题,我的程序需要读取配置文件。程序手动运行,没有任何问题;开机自启动,无法读取到配置文件,配置文件不存在。

    最后发现开机自启程序运行目录和程序所在目录不一致。

    介绍Qt两个函数,获取程序运行目录和程序所在目录

    /获取程序所在的目录
    qDebug()<<"current applicationDirPath: "<<QCoreApplication::applicationDirPath();
    //获取当前程序所在工作目录
    qDebug()<<"current currentPath: "<<QDir::currentPath();
  • 相关阅读:
    Table.Combine追加…Combine(Power Query 之 M 语言)
    Table.NestedJoin合并…Join(Power Query 之 M 语言)
    Delphi Post登陆Delphi盒子论坛源码
    分享一个函数GetStr
    用友生产工艺路线导入工具1.1
    笔下文学小说下载【3.01】 发布
    U6 3.2盘点单管理1.01
    防止SQL SERVER的事件探查器跟踪软件
    双系统的安装(原创)
    2345导航自动登陆签到【1.01】
  • 原文地址:https://www.cnblogs.com/shuoguoleilei/p/11382950.html
Copyright © 2011-2022 走看看