嵌入式ARM linux系统如何设置开机启动应用程序?

嵌入式ARM linux系统如何设置开机启动应用程序?,第1张

其实楼主的问题很专业,之前我在周立功那边也了解过不少。\x0d\ 当用户需要EasyARM-iMX283在开机启动后就运行指定的应用程序或指令时,可以通过vi命令编辑/etc/rcd/initd/start_userapp,将要执行的指令添加到里面。若用户有一个hellow的程序放在/home/目录中,那么设置hellow程序开机启动的方法如程序清单 11红色部分所示。\x0d\程序清单11 用户启动文件\x0d\#!/bin/sh \x0d\#you can add your app start_command three \x0d\/home/hellow \x0d\#start qt command,you can delete it 下面是启动QT界面的指令,若用户不需要启动QT,可以直接删除\x0d\export TSLIB_PLUGINDIR=/usrb/ts/ \x0d\export TSLIB_CONFFILE=/etc/tsconf \x0d\export TSLIB_TSDEVICE=/dev/input/ts0 \x0d\export TSLIB_CALIBFILE=/etc/pointercal \x0d\export QT_QWS_FONTDIR=/usrb/fonts\x0d\export QWS_MOUSE_PROTO=Tslib:/dev/input/ts0 \x0d\/usr/zhiyuan/zylauncher/start_zylauncher &\x0d\\x0d\如果程序是一个阻塞程序(程序被运行后不会退出或返回),则可能会导致位于其后的指令或程序无法得到执行,并且始终占用串口终端,造成其他程序(比如Shell)无法通过串口终端与用户交互。对于此类应用程序,可以在其后面添加“ &”(注意:是“空格”+“&”符号)让其在后台运行,如下所示:\x0d\/home/hellow &

root@vps:~# vi /etc/rclocal光标移动到# By default this script does nothing这一行按'o'输入程序路径sudo /usr/local/nginx/sbin/nginx

RC文件是开发应用程序开发的脚本文件格式,开发应用程序有:Visual Studio和Borland C++。RC文件以纯文本格式保存,并包含资源的引用,如用户界面组件、图像或图标文件,并用于编译成RES文件,并用于最后程序最后生成。
打开程序/转换器
Microsoft Visual Studio 2012
Embarcadero C++Builder
Borland C++Builder

在 rclocal 中的命令其实不需要在最后加 & 符号的
所谓后台运行, 对于在终端(Terminal)下运行的命令才有意义 一般来说我们在终端运行一个程序, 该程序就会占用当前终端的标准输入和标准输出, 你就无法在终端运行其他命令了, 这叫前台运行 如果在终端执行程序的时候在末尾加入一个 & 符号, 程序就会在后台运行, 你仍然可以在当前的终端继续输入其他命令和 *** 作
而 rclocal 中的命令都是由 init 这个程序来执行的, 他们都会自动在后台运行 所以这两种写法是不会有差别的
我再解释一些关于后台运行常见的疑惑:
1 为啥需要后台运行
这一般会有各种原因, 下面列出常见的几种:
1) 程序只是一个"后台"服务, 只需要默默运行, 产生一些效果, 但并不需要用户 *** 作
2) 图形界面程序, 不使用终端进行 *** 作
3) 需要暂时切换到其他程序进行 *** 作
2 如何让前台程序切换到后台运行
打开一个图形程序, 结果忘输 & 了, 可是又想继续敲一些命令, 该咋办, 当然, 我们可以关掉从开一遍, 或者打开一个新终端 如果想把它切换到后台, 可以先按 Ctrl + Z 暂停它, 然后键入 bg (background) 把它切换到后台运行
3 如何让后台程序切换到前台运行
有时候, 暂停了一个终端程序, 又需要调到前台了, 这时, 用 fg 命令(foreground)就可以了
4 后台多于一个进程怎么办 怎样停止后台程序
使用 jobs 命令可以查看当前终端后台运行的程序 每个后台程序会有一个编号 例如这样:
[1] Running emacs &
[3]+ Stopped vim
[4]- Running firefox &
然后 fg 4 可以把 4号程序调到前台, 也就是 firefox 3号程序目前显示是 stopped 所以我们可以用
fg 3 把 vim 调到前台来运行, 也可以用 bg 3 让它在后台继续运行(本来是暂停的)(这只是个例子, 其实对于 vim 这种前台程序,你调到后台自动运行它也会自己自动暂停的, 但是其他程序就不一定了) 也可以用 kill %4 把 4号程序结束掉(注意: kill 与 fg 和 bg 不同, 要加个百分号)
5 后台程序在退出 Terminal 时会自动退出吗
会的, 即使被叫做后台程序 如果想让它不自动退出可以用 nohup, 例如
nohup ibus-daemon &
注意, 这里联合使用了 nohup 和 &, 因为 nohup 不会自动将程序在后台运行


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13354084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-20
下一篇 2023-07-20

发表评论

登录后才能评论

评论列表(0条)

保存