当前位置: 首页 > Linux

Linux分支OpenWrt(嵌入式Linux系统)自启动服务详解

时间:2023-04-07 00:33:00 Linux

版本:Linux分支OpenWrt(嵌入式Linux系统)Linux版本3.18.29gcc版本4.8.3OpenWrt/LinaroGCC4.8-2014.04未知本版本OpenWrt的自启动服务是通过init中的自启动配置文件启动的。d步骤:创建一个服务,比如muxiucd/etc/init.dvimuxiu#不需要任何后缀名,对于shell解释器来说,是否有后缀,其实在于一开始选择的解释器代码,比如作为shell语言的bash解释Device#!/bin/shtest:muxiu服务文件代码#!/bin/sh/etc/rc.commonUSE_PROCD=1START=18STOP=82start_service(){#启动服务procd_open_instanceprocd_set_paramcommand/usr/bin/python/muxiu/muxiu/muxiu/test.py#所有关联文件必须是绝对路径,否则找不到文件procd_set_paramrespawnprocd_close_instance}stop_service(){#停止服务localprocess_pid=""process_pid=`ps-w|grep-w"/muxiu/muxiu/muxiu/test.py"|grep-vgrep|awk'{print$1}'`if[-n"${process_pid}"]#非空判断thenforiin$process_piddoecho"Killingtheprocess_pid[$i]"#killallprocesseskill-9$iif[“$?”-eq0]thenecho"killedpid"$i"success"elseecho"killfailed"fidonefi}restart(){#restart重启服务,结合start和stopstopstart}键:Esc(进入命令模式)退出保存:wq(冒号+wq)为服务配置权限ls-l#查看权限,这条命令可以忽略chmoda+xmuxiu#为服务配置执行权限建立软连接/etc/init.d/muxiuenable#enable是默认建立软连接。enable会在rc.d中创建一个S开头的服务启动文件和一个K开头的服务关闭文件(K开头的文件取决于你是否配置了服务的关闭设置,即muxiu中的STOP=82服务配置,START和STOP为程序启动顺序和关闭顺序,程序运行时需要排队)注意:这里必须是服务的绝对路径,否则会报错OpenWrt服务启动命令/etc/init.d/muxiustart#传递启动服务参数start/etc/init.d/muxiustop#传递结束服务参数stop/etc/init.d/muxiurestart#传递重启服务参数restartEND