java 换jar包 不停机_java - 如何使jar文件在启动和运行时运行当您注销时? - Ubuntu问答...

问题描述

我不知道从哪里开始寻找。我一直在阅读有关守护程序的内容,但并不了解该概念。

更多细节 :

我一直在写一个爬虫,它永远不会停止,并且不会通过Internet上的RSS爬虫。

搜寻器已经用Java编写-因此现在是一个jar。

我是拥有Ubuntu 11.04的计算机上的管理员。

机器有可能崩溃,所以我希望每次启动机器时都运行搜寻器。

此外,即使我注销,我也希望它能够继续运行。我不确定这是否可行,但是大多数时候我都注销了,但我仍然希望它继续爬网。

有任何想法吗?有人可以指出我正确的方向吗?

只是寻找最简单的解决方案。

最佳方法

这是使用SysVInit的一种简单方法。说明:

创建您的应用程序的开始和停止脚本。将其放在某个目录中,在我们的示例中是:

启动脚本:/usr/local/bin/myapp-start.sh

停止脚本:/usr/local/bin/myapp-stop.sh

每个人都将提供运行/停止该应用程序的说明。例如,myapp-start.sh内容可以很简单,如下所示:

#!/bin/bash

java -jar myapp.jar

对于停止脚本,可能是这样的:

#!/bin/bash

# Grabs and kill a process from the pidlist that has the word myapp

pid=`ps aux | grep myapp | awk '{print $2}'`

kill -9 $pid

创建以下脚本(myscript)并将其放在/etc/init.d上。

/etc/init.d/myscript内容:

#!/bin/bash

# MyApp

#

# description: bla bla

case $1 in

start)

/bin/bash /usr/local/bin/myapp-start.sh

;;

stop)

/bin/bash /usr/local/bin/myapp-stop.sh

;;

restart)

/bin/bash /usr/local/bin/myapp-stop.sh

/bin/bash /usr/local/bin/myapp-start.sh

;;

esac

exit 0

将脚本放入系统中(使用SysV)。只需运行以下命令(以root用户身份):

update-rc.d myscript defaults

PS:我知道Upstart非常好,但我还是喜欢旧的SysV初始化系统。

次佳方法

是!有可能的。 🙂 Upstart是确保服务保持运行的一种方式。它有五个软件包,默认情况下全部安装:

新贵的init守护程序和initctl实用程序

upstart-logd为日志服务提供logd守护程序和作业定义文件

upstart-compat-sysv提供rc任务以及重新启动,运行级别,关闭和telinit工具的作业定义文件,这些文件提供与SysVinit的兼容性

startup-tasks为系统启动任务提供作业定义文件

system-services提供tty服务的作业定义文件

参考资料

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值