Linux Ubuntu下设置开机自启动
0x00前言
文章中的文字可能存在语法错误以及标点错误,请谅解;
如果在文章中发现代码错误或其它问题请告知,感谢!
0x01 概述
网上搜索一下可以发现有很多自启动的方法,本文介绍一下修改rc.local配置文件以及在/etc/rcn.d中添加软连接方法实现自启动。
0x02 修改rc.local设置开机自启动
Ubuntu下有两个rc.local,分别是/etc/rc.local和/etc/init.d/rc.local。一般是将需要执行的开机启动项添加到/etc/rc.local中(另外要注意有些Linux系统的rc.local是存放路径在etc/rc.d中,即etc/rc.d/rc.local)。
所以修改rc.local配置文件设置开机自启动一般步骤:
1.打开配置文件:#sudo vi /etc/rc.local
(非Ubuntu一般为#sudo vi /etc/rc.d/rc.local)
;
2.将要开机启动的可执行文件(程序)或start.sh脚本的路径及名称填写该配置文件中。例如在该配置文件中的exit 0前添加/home/fip/Desktop/Record/start.sh。
设置完成后重启系统,当重新开机后打开终端使用#ps -ef | grep 启动项名称
看看启动项是否在后台运行,若有则成功。
举例:
目前使用gcc编译出了一个可执行文件,名称为“EPSRecord”,现在想要这个可执行文件在开机上电之后就运行:
此时可以编写一个sh脚本,该脚本目的是运行该可执行文件:
#!/bin/sh
echo "EPSRecord SH START"
CUR_DIR=$(cd "$(dirname "$0")"; pwd)
export LD_LIBRARY_PATH=${CUR_DIR}
chmod +x ${CUR_DIR}/EPSRecord
${CUR_DIR}/EPSRecord &
echo "EPSRecord SH END"
将该脚本的路径及名称填写到/etc/rc.local中:
最后重启系统,并输入指令ps -ef | grep EPSRecord
看该可执行文件是否已经自启动:
此时可以看到该可执行程序已经在后台运行了。
注意,上述的startup.sh脚本中第8行最后有“&”符,建议加上,表示后台运行。
0x03在/etc/rcn.d (n表示级别)中添加软链接
添加软连接设置开机自启动一般步骤:
1.将对应的启动脚本start.sh放入/etc/init.d目录下;
2.查询当前用户运行级别#runlevel
;
3.到对应的rcn.d目录中添加软链接。
设置完成后重启系统,当重新开机后打开终端使用#ps -ef | grep 启动项名称
看看启动项是否在后台运行,若有则成功。
举例:
同上小节,以想要开机自启动可执行程序EPSRecord为例,首先编写.sh脚本(与上小节有所不同,这次在脚本中直接赋予权限和执行操作,注意要指明可执行文件的路径及名称):
#!/bin/sh
echo "EPSRecord SH START"
chmod +x /home/fip/Desktop/Record/EPSRecord
./home/fip/Desktop/Record/EPSRecord &
echo "EPSRecord SH END"
将脚本放置到/etc/init.d中:
输入指令#runlevel
查看当前用户运行级别:
查得当前得运行级别为2,所以进入到/etc/rc2.d目录下,并添加软连接:
软连接的名称为S99start,其中S表示启动,99表示运行顺序。
此时/etc/rc2.d中出现S99start软链接:
最后重启系统,并输入指令ps -ef | grep EPSRecord
看该可执行文件是否已经自启动:
以上。
参考文档:
1.https://blog.csdn.net/u013401853/article/details/71079595
2.https://blog.csdn.net/vertor11/article/details/78425342
更多推荐
所有评论(0)