免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3541 | 回复: 14
打印 上一主题 下一主题

ant执行daemon程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-25 12:59 |只看该作者 |倒序浏览
写了一个application,用ant脚本启动,因为是守护进程。

就用
  1. [user@myhost /opt/myapp]$ ~/bin/bash_script_file >>/tmp/script.log 2>&1 &
复制代码
的命令执行。


结果发现,每次exit这个user所在的shell,该ant进程就会结束,并不是真正的守护进程



而tomcat的developer版本就可以,是不是因为tomcat使用了jmx的关系啊?


我怎么解决这个问题。

[ 本帖最后由 jhsea3do 于 2006-8-25 13:00 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-08-25 21:33 |只看该作者
让我来猜猜,你的bash_script_file的第一行是不是少了下面这一句:

#!/bin/bash

论坛徽章:
0
3 [报告]
发表于 2006-08-26 12:29 |只看该作者
没有啊

另外,我尝试把bash_script_file中的内容

  1. $ANT -f $CONFIG_FILE start
复制代码


改为

  1. /bin/bash -c $ANT -f $CONFIG_FILE start
复制代码


都不行

论坛徽章:
0
4 [报告]
发表于 2006-08-26 22:16 |只看该作者
问题出在ant这个script里,your ant exits before your script ends when you exit shell。

你可以把ant,复制到你的script 里在改改试试。

如果能解决的话,请回一贴,谢谢。

论坛徽章:
0
5 [报告]
发表于 2006-08-28 14:55 |只看该作者
ls写的我没看明白

你的意思是

  1. cat `$ANT_HOME/bin/ant` > bash_script_file
复制代码


然后加上bash_script_file的其他内容么?

我已经试着用bg, fg, jobs的办法来解决这个问题,但还是不行。

我很奇怪我用ant部署tomcat就可以退出shell,而自己写的就不行。

论坛徽章:
0
6 [报告]
发表于 2006-08-28 15:29 |只看该作者
用nohup启动你的脚本
nohup your_shell &

论坛徽章:
0
7 [报告]
发表于 2006-08-28 15:37 |只看该作者
谢谢楼上的,试了,nohup无效

论坛徽章:
0
8 [报告]
发表于 2006-08-28 15:50 |只看该作者
贴出你的脚本看看

论坛徽章:
0
9 [报告]
发表于 2006-08-28 16:01 |只看该作者


  1. #!/bin/bash

  2. # script: binduser-daemon
  3. # author: jhsea3do
  4. # create: 2006-03-20

  5. umask 002
  6. export LANG=zh_CN
  7. export LC_ALL=zh_CN.GBK

  8. CONF_HOME=/home2/jhsea3do
  9. EXEC_FOLD=/var/daemon/out
  10. source ${CONF_HOME}/.bashrc.java.env

  11. JAVA=${JAVA_HOME}/bin/java
  12. ANT=${ANT_HOME}/bin/ant

  13. cd ${EXEC_FOLD}
  14. echo //--------------------------------------------------\\\\
  15. echo +----------------------------------------------------+
  16. echo  EXEC_FOLD=`pwd`
  17. echo +----------------------------------------------------+
  18. echo  CONF_HOME=${CONF_HOME}
  19. echo +----------------------------------------------------+
  20. echo  JAVA_HOME=${JAVA_HOME}
  21. echo +----------------------------------------------------+
  22. echo  ANT_HOME=${ANT_HOME}
  23. echo +----------------------------------------------------+
  24. ${ANT} -f ${CONF_HOME}/etc/binduser-daemon-config.xml binduser-daemon
复制代码


/usr/bin/nohup ~jhsea3do/bin/binduser-daemon >>/var/log/binduser-daemon.log 2>&1 &

论坛徽章:
0
10 [报告]
发表于 2006-08-28 16:08 |只看该作者

  1.   <!-- ================================================================= -->
  2.   <!-- execute binduser-daemon                                       -->
  3.   <!-- ================================================================= -->
  4.   <target name="binduser-daemon" depends=""
  5.           description="execute binduser-daemon">
  6.     <tstamp/>
  7.     <echo message="start binduser-daemon..." level="info" />
  8.     <java classname="com.javaws.daemons.BindUser" fork="true">
  9.       <classpath>
  10.         <path refid="javaws.config" />
  11.         <pathelement location="${javaws.jar}"/>
  12.         <path refid="hibernate.classpath" />
  13.       </classpath>
  14.     </java>
  15.     <echo message="shutdown binduser-daemon..." level="info" />
  16.   </target>
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP