大连仟亿科技
客服中心
  • 电话
  • 电话咨询:0411-39943997
  • 手机
  • 手机咨询:15840979770
    手机咨询:13889672791
网络营销 >更多
您现在的位置:仟亿科技 > 新闻中心 > 常见问题

使Java程序成为Linxu的系统服务

作者:billionnet 发布于:2012/10/11 17:11:38 点击量:

 

在分布式环境开发中经常会使用socket,或者使用rmi来对外提供服务,常用的办法是将写一个java程序代码,然后部署到服务器上,但是问题来了。如何将这个服务成为一个可靠的系统服务,不会应为风吹草动就挂了,那就不好了。

所以想到使用apache commons 下面的daemon框架来充当守护进程。首先需要在系统中安装jsvc工具具体操作方法这里不作详细说明,请查看 http://commons.apache.org/daemon/jsvc.html

后面jsvc安装成功之后需要有执行 jsvc -help 会显示以下内容:

Python代码

  1. ./jsvc -help
  2. Usage: jsvc [-options] class [args...]
  3.  
  4. Where options include:
  5.  
  6. -help | –help | -?
  7. show this help page (implies -nodetach)
  8. -jvm
  9. use a specific Java Virtual Machine. Available JVMs:
  10. ‘client’ ‘server’
  11. -client
  12. use a client Java Virtual Machine.
  13. -server
  14. use a server Java Virtual Machine.
  15. -cp / -classpath
  16. set search path for service classes and resouces
  17. -home
  18. set the path of your JDK or JRE installation (or set
  19. the JAVA_HOME environment variable)
  20. -version
  21. show the current Java environment version (to check
  22. correctness of -home and -jvm. Implies -nodetach)
  23. -showversion
  24. show the current Java environment version (to check
  25. correctness of -home and -jvm) and continue execution.
  26. -nodetach
  27. don’t detach from parent process and become a daemon
  28. -debug

 

 

另外需要编写一个shell脚本,来控制该系统服务启动或者停止,详细请操作如下脚本:

Python代码

  1. #!/bin/bash
  2.  
  3.  
  4. CLASSPATH=./trigger-server/terminator-job-trigger-server-3.1.0-SNAPSHOT.jar
  5.  
  6. for P in `ls -F ./trigger-server/dependency/`
  7. do
  8. CLASSPATH=$CLASSPATH:./trigger-server/dependency/$P
  9. done
  10.  
  11.  
  12. #echo $CLASSPATH
  13.  
  14. export JAVA_HOME=/opt/taobao/java
  15.  
  16.  
  17.  
  18. start(){
  19. echo “starting”
  20.  
  21.  
  22. /home/baisui/commons-daemon-1.0.10-native-src/unix/jsvc -pidfile ./pidfile.pid -outfile ./logs/trigger_server_out.log -errfile ./logs/trigger_server_err.log -cp $CLASSPATH com.taobao.terminator.trigger.LaunchServer
  23.  
  24.  
  25.  
  26. echo “start successful”
  27. }
  28.  
  29. stop(){
  30. /home/baisui/commons-daemon-1.0.10-native-src/unix/jsvc -stop -pidfile ./pidfile.pid -cp $CLASSPATH com.taobao.terminator.trigger.LaunchServer
  31.  
  32. echo “trigger_server stopped”
  33. }
  34.  
  35.  
  36.  
  37.  
  38. case “$1″ in
  39. start)
  40. start
  41. ;;
  42. stop)
  43. stop
  44. ;;
  45. restart)
  46. stop
  47. start
  48. ;;
  49. *)
  50. usage
  51. ;;
  52. esac

 

#!/bin/bash

这样可以使用一下脚本来控制系统服务的状态了:

  1. sh start.sh start 启动服务
  2. sh start.sh stop 停止服务
  3. sh start.sh restart 重启服务 


分享到:


评论加载中...
内容:
评论者: 验证码:
  

Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号   google网站地图   百度网站地图   网站地图

公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563

法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明