Linux 系统服务注册
Posted 庖丁解牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 系统服务注册相关的知识,希望对你有一定的参考价值。
Linux注册系统服务步骤
1.编写服务脚本
2.拷贝到/etc/init.d目录下
3.为服务脚本添加可执行权限 >>chmod a+x xxxd
4.添加到系统服务中 >>chkconfig --add xxxd
5.检测是否添加成功 >>chkconfig --list | grep xxxd
6.设置开机启动 >>chkconfig xxxd on
7.删除系统服务命令 >>chkconfig --del xxxd
#!/bin/bash # chkconfig: - 90 10 # description: asr service #设置启动文件 startup=/home/test/src/asr_server #设置相应的环境变量 export LD_LIBRARY_PATH=/home/test/lib:$LD_LIBRARY_PATH start(){ echo -n "Starting asr service:" RETVAL=`ps -ef |grep asr_serve[r] |awk -F " " ‘{print $2}‘` if [ -n $RETVAL ];then $startup fi echo "asrserver is succeessfully started up" } stop(){ echo -n "Shutting down tomcat: " RETVAL=`ps -ef |grep asr_serve[r] |awk -F " " ‘{print $2}‘` if [ -z $RETVAL ];then RETVAL=`kill -9 $RETVAL` fi echo "tomcat is succeessfully shut down." } status(){ RETVAL=`ps -ef |grep asr_serve[r] |awk -F " " ‘{print $2}‘` if [ -n $RETVAL ];then echo "asrserver is running..." else echo "asrserver is stopped..." fi } restart(){ echo -n "restart asr service:" RETVAL=`ps -ef |grep asr_serve[r] |awk -F " " ‘{print $2}‘` if [ -z $RETVAL ];then RETVAL=`kill -9 $RETVAL` fi $startup echo "asrserver is succeessfully started up" } case "$1" in start) start ;; stop) stop ;; status) status ;; restart) restart ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 esac
注意事项
>>service xxxd start
env: /etc/init.d/xxxd: 没有那个文件或目录
报错原因:文件格式可能不正确,有可能是dos文件,也可能文件中有
等windows转义字符
解决方案:
1.如果文件格式不正确,那么使用Notepad工具转码
2.判断文件中是否有
这种不可见转义字符,可以把xxxd当做shell脚本执行,执行就会报错"行4: $‘
‘: 未找到命令",
解决办法
使用vi打开文本文件
vi xxxd
命令模式下输入
:set fileformat=unix
:wq
# chkconfig: - 90 10命令解释
2345表示系统运行级别是2,3,4或者5时都启动此服务,该项也可以设置为"-"表示默认
20,是启动的优先级,80是关闭的优先级,
如果启动优先级配置的数太小时如0时,则有可能启动不成功,
因为此时可能其依赖的网络服务还没有启动,从而导致自启动失败。
#"#chkconfig: - 90 10" 和 "#description: xxx"是必须的,否则在运行chkconfig --add auto_run时,会报错,描述文字可以自定义。
以上是关于Linux 系统服务注册的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段