Linux在散肆启动时,会自动执行/etc/rc.d目录下的初始化程序,因此我们可以把启动任务放到该目录下。假冲没轿设我们需要运行的脚本文件是test1目录下的test.py。
在系统中找到/etc/rc.local文件,系统会根据该文件来启动所指定的脚本或命令。
我们需要用超级用户登录,并在上述文件最后添加需要运行的脚本文件。
随后cd /home/test1返回test1目录以对其进行更改。
su test1 -c "python /home/test1/test.py" --把要察洞执行的命令作为一个参数传递级su
下面我们就可以实现这个脚本的开机自动运行。
其实楼主的问题很专业,之前我在周立功那边也了解过不少。\x0d\x0a 当用户需要EasyARM-iMX283在开机启动后就运行指定的应用程序或指令时,可以通过vi命令编辑/etc/rc.d/init.d/start_userapp,将要执行的指令添加到里面。若用户有一个hellow的程序放在/home/目录中,那么设冲念置hellow程序开机启动的方法如程序清单 1.1红色部分判搭所示。\x0d\x0a程序清单1.1 用户启动文件\x0d\x0a#!/bin/sh \x0d\x0a#you can add your app start_command three \x0d\x0a/home/hellow \x0d\x0a#start qt command,you can delete it 下面是启动QT界面的指令,若用户不需要启动QT,可以直接删除\x0d\x0aexport TSLIB_PLUGINDIR=/usrb/ts/ \x0d\x0aexport TSLIB_CONFFILE=/etc/ts.conf \x0d\x0aexport TSLIB_TSDEVICE=/dev/input/ts0 \x0d\x0aexport TSLIB_CALIBFILE=/etc/pointercal \x0d\x0aexport QT_QWS_FONTDIR=/usrb/fonts\x0d\x0aexport QWS_MOUSE_PROTO=Tslib:/dev/input/ts0 \x0d\x0a/usr/zhiyuan/zylauncher/start_zylauncher &\x0d\x0a\x0d\x0a如果程序是一个掘判拿阻塞程序(程序被运行后不会退出或返回),则可能会导致位于其后的指令或程序无法得到执行,并且始终占用串口终端,造成其他程序(比如Shell)无法通过串口终端与用户交互。对于此类应用程序,可以在其后面添加“ &”(注意:是“空格”+“&”符号)让其在后台运行,如下所示:\x0d\x0a/home/hellow &linux设置开机自启动执行命令 :
执行命令 : 编辑"/etc/rc.local",添加你想开机运行的命令
运行程序脚本 :然后在文件最后一行添加要执行程序的全路径。
例如,每次开机时要执行一个hello.sh,这个脚本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt &桥伏&./hello.sh "
注意,你的命令应该添加在:exit 0 之前
linux在“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本或者可执行二进制文件 Linux开机的时候,会森消神加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。系统服务的启动就是通过这种方式实现的。
简单的说,运行级就是 *** 作系统当前正在运行的功能级别。
例:在Ubuntu/debain里,可以使用update-rc.d命令来把示例脚本:/etc/init.d/proxy安装到各个runlevel中。
update-rc.d后面有三个参数,分别是/etc/init.d下的脚本名字,默认安装方式,运行的优先级。优先级的数字越大,表示越迟运行,这里我们把自己写的服务放在最后运行。
如果要卸载随机启动的服务,执行
在update-rc.d安装的时候提示了警告信息,是因为我们写的/etc/init.d/proxy太简陋了,只包含了我们想要的此亏命令,连LSB的信息也没有提供。
只需要对自启动脚本做一些小改动,就可以避免那个警告了。如下:
到此,一个最简单的随机启动服务写好了,看起来文章挺长的,但其实也就几个命令而已。 在下次开机启动的时候,proxy.py就会以root用户身份被自动运行。
在/etc/init.d下新建示例脚本文件(startTest.sh),该脚本会启动/opt/test.sh。内容如下:
写了脚本文件之后事情还没有完,继续完成以下几个步骤:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)