Linux开机自动启动自己的应用程序教程,纯手打,实测可用。

(1)应用程序条件:

应用程序名称:zynq-tof-path-analysis
应用程序路径:/home/tof-240-320
启动脚本名称:start_zynq_app

(2)chkconfig命令介绍:

--add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据;
--del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据;
--level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕。

等级代号列表:
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动

(3)启动脚本的添加与编写:

1,首先添加启动脚本,如下操作
	cd /etc/init.d
	touch start_zynq_app
	chmod +x start_zynq_app
2,添加应用程序运行的日志文件夹,如下操作
	cd /home
	mkdir -p tof-log
3,往启动脚本里添加内容,如下操作
	nano /etc/init.d/start_zynq_app
	完整脚本内容参见《附录-start_zynq_app》
	百度云链接:https://pan.baidu.com/s/1Iy1XtnE7ApIBw9ZLN7P0Kg

(4)开机自启服务添加管理:

cd /etc/init.d
chkconfig --add start_zynq_app
chkconfig start_zynq_app on
chkconfig --level start_zynq_app 2345 on //开启2 3 4 5项,0 1 6项为关闭状态
操作完成后可以查看是否成功
chkconfig --list start_zynq_app
如果成功命令框将输出如下内容:
	start_zynq_app            0:off  1:off  2:on   3:on   4:on   5:on   6:off

(5)注意事项说明:

1,在使用chkconfig命令添加服务的时候。如运行“chkconfig start_zynq_app on”时,可能会出现如下错误:
	“/sbin/insserv: No such file or directory”
	这个据说是ubuntu的一个bug,/sbin/下面没有insserv这个文件,一般这个文件在/usr/lib/insserv/insserv中,我们可以建个链接。
	解决方法如下:sudo ln -s /usr/lib/insserv/insserv  /sbin/insserv 
	
2,启动脚本中的该行命令值得注意name="zynq-tof-path-analysis" #`basename $0` ,
	使用“zynq-tof-path-analysis”时不管时哪个服务或者用户启动的程序其pid文件和日志文件都以zynq-tof-path-analysis命名;
	使用`basename $0` 会根据不同的服务和用户来对该程序的相关文件进行命名;
	使用“zynq-tof-path-analysis”的好处在于,开机自启后,任然可以在无论哪个用户的模式下使用“start_zynq_app top”命令关闭程序;
	使用`basename $0` 的好处在于不同的用户可以同时使用该应用程序不受干扰。
	
3,运行过程中程序如果出现错误,在程序的中的错误输出将会保存在{stderr_log="/home/tof-log/$name.err" }中创建的文件里。

4,脚本中会将运行程序的进程的pid添加到{pid_file="/var/run/$name.pid"}这个目录,我们可以在该目录下查看我们程序的pid

猜你喜欢

转载自blog.csdn.net/weixin_40109522/article/details/82971215
今日推荐