Linux 分支 OpenWrt (嵌入式Linux系统)的自启动服务详解
版本: Linux 分支 OpenWrt(嵌入式Linux系统)
Linux version 3.18.29
gcc version 4.8.3
OpenWrt/Linaro GCC 4.8-2014.04 unknown
该版本的 OpenWrt 的自启动服务是以 init.d 里面的自启动配置文件来启动的
步骤:
- 创建一个服务,如 muxiu
cd /etc/init.d
vi muxiu
# 不需要任何后缀名,对于 shell 解释器来说,有没有后缀,其实在于开头的选择的解释器代码,如shell语言的 bash 解释器 #!/bin/sh
测试:muxiu 服务文件代码
#!/bin/sh /etc/rc.common
USE_PROCD=1START=18
STOP=82
start_service() {# 启动服务
procd_open_instance
procd_set_param command /usr/bin/python /muxiu/muxiu/muxiu/test.py # 全部关联的文件必须是绝对路径,否则会找不到文件
procd_set_param respawn
procd_close_instance}stop_service() {# 停止服务local process_pid=""
process_pid=`ps -w | grep -w "/muxiu/muxiu/muxiu/test.py" | grep -v grep| awk '{print $1}'`
if [ -n "${process_pid}"]# 非空判断
then
for i in $process_pid
do
echo "Killing the process_pid [ $i ]"# kill掉所有的进程
kill -9 $i
if [ "$?" -eq 0 ]
then
echo "killed pid "$i" success"
else
echo "kill failed"
fi
donefi
}restart(){# restart 重启服务,综合了 start 和 stop
stop
start
}
按键:Esc(进入命令模式)
退出保存:wq(冒号+wq)
- 为服务配置权限
ls -l# 查看权限,可忽略此命令chmod a+x muxiu# 为服务配置执行权限
- 建立软连接
/etc/init.d/muxiuenable# enable是默认建立软连接
enable 会在rc.d里创建一个 S开头的服务启动文件和 K 开头的服务关闭文件(这个 K 开头的文件,取决于你是否配置了服务的关闭设置,也就是 muxiu 服务配置里的 STOP=82,START 和 STOP 这个是程序启动顺序和关闭顺序,程序的运行时需要排队)
【Linux 分支 OpenWrt (嵌入式Linux系统)的自启动服务详解】注意:这里必须是服务的绝对路径,否则报错
- OpenWrt的服务启动命令
/etc/init.d/muxiustart# 传递启动服务参数 start/etc/init.d/muxiustop# 传递结束服务参数 stop/etc/init.d/muxiurestart# 传递重启服务参数 restart
END
推荐阅读
- Linux下面如何查看tomcat已经使用多少线程
- Beego打包部署到Linux
- Linux|109 个实用 shell 脚本
- linux定时任务contab
- 芯灵思SinlinxA33开发板Linux内核定时器编程
- day16-Linux|day16-Linux 软件管理
- 如何在阿里云linux上部署java项目
- mac|mac 链接linux服务器 如何在Mac上连接服务器
- Linux|Linux 服务器nginx相关命令
- linux笔记|linux 常用命令汇总(面向面试)