linux打开某个软件,linux下将某个应用(软件)配置成系统服务

linux下将某个应用(软件)配置成系统服务

linux下将某个应用(软件)配置成系统服务

linux有许多默认的系统服务,例如apache、sendmail、crond等都是其中之一,我们可以通过ntsysv等方法手动选择那些服务随着系统启动而启动,如图所示:

#ntsysv

200904241240562350143.jpg

那是否可以将我们自行安装的应用(软件)配置成类似于httpd能自由控制是否系统启动/关闭的服务呢?答案是肯定的。

下面将会以一个极度冷门的软件crowd为例,任何发行版linux都不能将其纳入缺省的系统服务。通过配置将该软件作为系统服务,可以方便地控制crowd是否随系统一起启动,其他软件配置起来大同小异,参照这个过程修改一下相关的项就可以了。

(注.其实单点登录工具crowd在国外有点知名度~只是国内用户很少接触而已,呵呵~并非忽略了它,抱歉抱歉!)

配置步骤:

一、编写相关软件的启动脚本

二、将编写好的脚本正确放置到相对应系统目录、并更改脚本文件的属性

三、将相关软件的启动脚本添加到linux系统的启动服务,并设置运行级别

一、编写相关软件的启动脚本

下面开始编写crowd的启动脚本,在linux任意目录下新建一个空白文件作为crowd(最好能取一个一看就知道是什么软件的名称)的启动脚本,本来这个shell脚本是要手工编写的,但由于这类启动脚本的格式固定,网上也很容易找到这类现成的脚本,所以随便下载一个直接修改部分内容就可以了,省去不少学习脚本编写的时间。

#vi crowd

创建crowd的启动脚本文件,复制下文两行#号所包含的内容到该文件并修改部分内容,完成后保存退出

启动脚本具体的格式如下:(两行#号所包含的内容)

###########################################

#!/bin/bash

#

# Startup script for the crowd server     启动脚本描述,随便即可

#

# chkconfig: - 85 15     系统引导时的序列号,默认即可

# description: crowd server      启动脚本描述,随便即可

# processname: crowd     工程名,随便即可,最好写启动脚本名

# pidfile: /var/run/crowd.pid      按默认路径填写crowd的pid位置

# crowd_home: /usr/local/atlassian/atlassian-crowd-1.6.1     正确填写crowd的文件目录

# Source function library.     默认即可

. /etc/rc.d/init.d/functions

prog=atlassian-crowd-1.6.1     项目名称,最好正确填写

pidfile=${PIDFILE-/var/run/crowd.pid}

lockfile=${LOCKFILE-/var/lock/subsys/crowd}     按默认路径填写crowd的lockfile位置

export JAVA_HOME=/usr/java/jdk1.6.0/     系统引导时显示jdk的路径,这一项属于可有可无

CROWD_HOME=/usr/local/atlassian/atlassian-crowd-1.6.1    定义路径变量,正确填写软件所在目录,十分重要

START_CROWD="$CROWD_HOME/start_crowd.sh"    定义启动变量,填写启动crowd的脚本文件(即我们平时是通过./start_crowd.sh来启动crowd),十分重要,系统启动时就是通过执行这个文件来启动相关软件

STOP_CROWD="$CROWD_HOME/apache-tomcat/bin/shutdown.sh"     定义关闭变量,填写关闭crowd的脚本文件(即我们平时是通过./shutdown.sh来启动crowd),十分重要,系统关闭时就是通过执行这个文件来关闭相关软件

start() {

echo -n $"Starting $prog: "

cd $CROWD_HOME     正确填写软件路径的变量,上文已定义

daemon $START_CROWD     正确填写启动变量,上文已定义

RETVAL=$?

echo

[ $RETVAL = 0 ] && touch ${lockfile}

return $RETVAL

}

stop() {

echo -n $"Stopping $prog: "

cd $CROWD_HOME     正确填写软件路径的变量,上文已定义

daemon $STOP_CROWD     正确填写关闭变量,上文已定义

RETVAL=$?

echo

[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}

}

# See how we were called.

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

*)

echo $"Usage: $prog {start|stop|restart}"

exit 1

esac

exit $RETVAL

###########################################

以上为在我本机上(REDHAT AS4U5)对软件crowd启动脚本的设置,只要把上面的内容复制一份,修改部分地方就直接可以用了(需修改的地方上文中有标示)。

二、将编写好的脚本正确放置到相对应系统目录、并更改脚本文件的属性

#mv crowd /etc/init.d/

将编写好的脚本文件移至init.d目录

#chmod 777 crowd

修改启动脚本的文件属性

三、将相关软件的启动脚本添加到linux系统的启动服务,并设置运行级别

通过linux的chkconfig工具将crowd设置为系统服务,下面顺便介绍一下chkconfig的常用方法:

#chkconfig --list

查看系统所有的服务启动情况

#chkconfig --list httpd

查看单个服务启动情况

#chkconfig --add crowd

将crowd添加到启动服务列表

#chkconfig --level 235 crowd on

设置crowd的运行等级

#chkconfig --del crowd

从启动服务列表中删除一个启动服务

稍微解释一下启动等级:

等级0表示:表示关机

等级1表示:单用户模式

等级2表示:无网络连接的多用户命令行模式

等级3表示:有网络连接的多用户命令行模式

等级4表示:不可用

等级5表示:带图形界面的多用户模式

等级6表示:重新启动

#service crowd start/restart/stop/status

经过上面的设置我们可以很方便的对crowd服务进行一系列的操作,如图所示crowd已经成为系统的启动服务,其他应用(软件)的设置换汤不换药,只要按照这个步骤做下来都能成功!

200906151245059373408.jpg

©著作权归作者所有:来自51CTO博客作者yaksayoo的原创作品,如需转载,请注明出处,否则将追究法律责任

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值