将jar作为Linux服务运行 –init.d脚本被启动应用程序卡住了

将jar作为Linux服务运行 –init.d脚本被启动应用程序卡住了,第1张

概述将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脚本被启动应用程序卡住了所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1155923.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存