您的位置:首页 > 其它

Liunx可执行程序做成服务

2017-02-28 08:34 78 查看

Liunx可执行程序做成服务

一、配置系统的服务

1、比如需要做成系统服务的可执行程序有:zookeeper、tomcat、nginx。

2、新建服务名称。

   在目录/etc/init.d/下,新建一个以服务为文件名的文件.以zookeeper服务为列。

   a) 新建zookeeper文件:

   cd  /etc/init.d/

   vim zookeeper

   输入以下内容:

   #!/bin/sh

   export JAVA_HOME=/home/tools/jdk1.8          //指定jdk的路径

   start() {                                                              

        echo -n "zookeeper nginx: "

        /home/zookeeper-3.4.6/bin/zkServer.sh start
//运行zookeeper程序的指令

        echo "zookeeper start ok."

    }

   stop() {

        echo -n "Shutting down zookeeper: "

        /home/zookeeper-3.4.6/bin/zkServer.sh stop
//停止zookeeper程序的指令

        echo "zookeeper stop ok."

   }

   # See how we were called                                       

   case "$1" in

   start)

         start

        ;;

   stop)

        stop

        ;;

   restart)

        stop

        sleep 10

        start

        ;;

   *)

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

   esac

   exit 0

b)赋予文件执行的权限: chmod  u+x  zookeeper

c) tomcat、nginx服务的创建与zookeeper类似,只需重复a、b步骤,并把a步骤的运行程序、停止运行程序的语句替换成相应
服务的执行语句即可。

 

3、建立的服务文件的符号连接文件。

在目录/etc/rc3.d,新建一个指向第2步中建立的服务文件的符号连接文件。 在/etc/rc3.d目录中先执行ls命令查看已有的文件名,新建的文件名(SXX服务名称)其中XX一般是一个从1到100的整数,它表示启动优先级,数字越大,优先级越低。

    执行的命令:

cd  /etc/rc3.d

    ln -sf /etc/init.d/zookeeper  S99zookeeper

4、验证新建的服务是否能正常运行。

   执行的命令:service
服务名 start | stop|restart

   列如:service zookeeper start
利用ps -ef|grep zookeeper 查看进程是否正在运

   行。

   再执行service zookeeper stop利用ps -ef|grep zookeeper查看进程是否关闭

   注意:服务未启动的时,并不能成功执行restart的重启命令。

5、将服务添加入开机自启动。

   执行的命令:vim /etc/rc.local

   添加启动服务的语句: service
服务名 start

   列如:service zookeeper start

   注意:自启动的文件是从上而下执行的,写在前面的服务会先启动,l例如我的系统中 tomcat8091、hcat服务是依赖于hyponder、hyponder依赖于zookeeper,所以其优先顺序为:zookeeper
> hyponder >tomcat8091、hcat。mysql的服务为系统服务,安装配置完成之后,可以直接适用mysqld进行mysql服务的管理。

 


                     (rc.local文件截图)

6、重启系统(reboot)验证开机自启动配置是否成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: