概述将jar作为Linux服务运行 – init.d脚本被启动应用程序卡住了
我目前正在将一个可运行jar作为后台服务在linux VM框上进行实现。 我已经使用这里find的例子作为基础,并且已经将start()方法修改为:
start(){
#启动应用程序
java -jar /home/vagrant/sagepay-stub-1.4.jar> /var/log/sagepay-stub.log 2>&1
等待networkingconfiguration在windows服务启动完成
CreateProcessAsUser和logonUser无密码
在windows上的Scala服务
PID存在于netstat中,但在任务pipe理器中不存在
如何使用OpenCover连接到服务?
PID = $!
echo $ PID> pID.txt
}
这将设置服务将输出写入日志sagepay-stub.log,并保存在调用服务停止方法时使用的PID。
这是启动命令的处理程序:
情况下“$ 1”开始)
echo \”Starting $APP\” start echo \”$APP started.\” ;;
当我打电话的方法,我得到“开始Sagepay存根”输出,但后来我被困在脚本内。 我所能做的就是Ctrl&C退出,这给我输出:
“Sagepay-stub开始了。
现在,我查看日志,并看到输出如预期 – 存根(stub)服务器已成功启动。 但我不能在端口上(我已经打开相关的端口使用iptables) – 连接被拒绝:
Connecting to localhost|127.0.0.1|:8889… Failed: Connection refused.
任何想法的问题是赞赏。 我认为问题在于启动应用程序,然后让它在后台运行。 当应用程序启动时,脚本停滞不前。 该jar在本地运行良好,无需input。
如果问题在于PID命令(我在另一个线程上发现它是一个可接受的答案),我怎么能评论这些,仍然能够停止服务?
对代码的评论也很受欢迎
谢谢
如何在从windows服务启动的子shell中设置http代理
启动AX 2012 R3服务时出错
注册一个Java应用程序(或者执行应用程序的一个蝙蝠)作为windows服务的最快方法是什么?
将数据从ServiceInstaller类传递到C#中的ServiceBase派生类
尝试安装windows服务时看不到我的服务安装程序
你还没有忘记\’java\’这个行之后的\’&\’,这样在那行之后继续执行。
这与在控制台中运行命令完全相同。 之后的\’&\’确保控制台在应用程序启动后可用。
这就是为什么它打印“Sagepay存根启动”。 一旦你点击ctrl-c,因为那是当你杀死java进程和bash脚本继续。
总结
以上是内存溢出为你收集整理的将jar作为Linux服务运行 – init.d脚本被启动应用程序卡住了全部内容,希望文章能够帮你解决将jar作为Linux服务运行 – init.d脚本被启动应用程序卡住了所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容