锁定老帖子 主题:shell脚本控制jar的启动和停止
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (6)
|
|
---|---|
作者 | 正文 |
发表时间:2012-04-09
可以了解一下jsvc。
|
|
返回顶楼 | |
发表时间:2012-04-09
这样的直接kill很不安全。
|
|
返回顶楼 | |
发表时间:2012-04-10
kill -9确实不安全
不过楼主的思路很对,一般来说都是有守护Shell进程守护Java进程或者其他类型线程的。 |
|
返回顶楼 | |
发表时间:2012-04-10
yjandx3543 写道 呵呵呵,想起了一个以前写的shell脚本,启动和关闭线程(myshell.sh)。
CLASS_PATH=dayemail.jar CLASS_PATH=$CLASS_PATH:lib/activation.jar CLASS_PATH=$CLASS_PATH:lib/classes12.jar CLASS_PATH=$CLASS_PATH:lib/c3p0-0.9.1.2.jar CLASS_PATH=$CLASS_PATH:lib/commons-email-1.2.jar CLASS_PATH=$CLASS_PATH:lib/dom4j-1.6.jar CLASS_PATH=$CLASS_PATH:lib/jaxen-1.1.1.jar CLASS_PATH=$CLASS_PATH:lib/jxl.jar CLASS_PATH=$CLASS_PATH:lib/log4j-1.2.16.jar CLASS_PATH=$CLASS_PATH:lib/mail.jar SERVER=/qzpt/mydayemail cd $SERVER case "$1" in start) nohup java -Dfile.encoding=UTF8 -Xms64M -Xmx256M -cp $CLASS_PATH com.trendsnet.myemail.EmailShell > $SERVER/server.log 2>&1 & echo $! > $SERVER/server.pid ;; stop) kill `cat $SERVER/server.pid` rm -rf $SERVER/server.pid ;; restart) $0 stop sleep 1 $0 start ;; *) echo "Usage: myshell.sh {start|stop|restart}" ;; esac exit 0 会自动生成server.pid记录当前线程的PID. 日志文件logger.info形式的日志记录进了Server.log ,当然也可以去掉写入Server.log改用自己的Log4j. 当然,程序里面做了钩子程序,用 引用 于关闭所有正在运行中的东东及保存临时文件。起停不是目的,你那个CLassPATH的拼接应该用数组更好一些吧,尤其是依赖Jar很多的情况下,不过现在很多时候都是把CLassPath写到Jar里面的CLassPath了,另外起停都好写,关键是要守护,wait子进程,然后还要处理特殊退出码以及trap情形。 |
|
返回顶楼 | |
发表时间:2012-04-12
我也向知道 stop的脚本怎么写,重点是退出的时候保存内存数据
|
|
返回顶楼 | |
发表时间:2012-04-17
java.jsp页面调用本地插件完成对本地文件与服务器上文件的同步更新
有没有写过如题的功能,因为我现在需要每次点jsp页面的 更新按钮时,需要将本地文件的版本与服务器上的文件进行版本对比,将需要更新的文件进行下载,解压,我想通过写插件,完成这种需求,但是没有写过类似的东西,希望写过此功能的拿们,指点。。。。。。。。。。。。。。 |
|
返回顶楼 | |