当前位置: 首页 > 面试题库 >

如何从厨师食谱在后台运行Java程序

韦繁
2023-03-14
问题内容

我是厨师菜鸟。我想创建一个在后台运行jar的配方。

bash 'run_jar' do
    code <<-EOH
    wget https://github.com/kiwiwin/jar-repo/releases/download/kiwi/helloworld-1.0.jar -O hello.jar
    java -jar hello.jar &
    EOH
end

helloworld-1.0.jar是一个程序,首先打印“ Hello World”,然后执行while(true)循环。

我希望当我登录到厨师客户端计算机时。它应该指示使用“ jps”命令运行的jar。但是没有运行这样的jar。

而且我可以看到hello.jar已下载,这表明代码块已被执行。

这个食谱怎么了?


问题答案:

最好建议您将代码配置为作为服务运行。有几种包装器,例如:

  • http://wrapper.tanukisoftware.com/doc/english/app-hello-world-server.html

完成此操作后,您可以配置Chef以管理新服务:

service "myapp_service" do
  supports :status => true, :restart => true
  start_command "/usr/lib/myapp/bin/myapp start"
  restart_command "/usr/lib/myapp/bin/myapp restart"
  status_command "/usr/lib/myapp/bin/myapp status"
  action [ :enable, :start ]
end


 类似资料:
  • 我有一个简单的java程序,它只是一段代码,可以从数据库中读取并根据某些条件修改数据库的内容。现在,我想要的是这个程序应该在启动时自动启动并在后台静默运行,除非有人从任务管理器中杀死它。我以前从未做过这样的事情,也不知道具体该怎么做。有人能帮我解决这个问题吗?谢谢你...

  • 这是一张食谱,记录了许多 “美味佳肴”: RxRelay RxSwift 5 更新了什么? 纯函数 附加作用 ...

  • 食谱 有助于学习 RxJS 的常见用例和有趣的食谱。 内容 进度条 智能计数器 游戏循环 HTTP 轮询

  • 问题内容: 我有以下代码行可运行批处理文件, 但是我希望它在后台运行,而不是向用户显示命令行。我该如何更改才能做到这一点? 问题在于命令窗口打开并中断程序GUI。我只希望命令窗口在执行批处理文件时不可见。 问题答案: 完全删除“开始”将完成您想要的操作(因为这就是创建窗口的原因): 我已经对此进行了测试,并且可以正常工作,当然,如果您想与命令提示符进行通信,则必须具有输入和输出流,也不要忘记您的错

  • 问题内容: Java的switch语句如何在后台运行?它如何将使用的变量的值与案例部分给出的值进行比较?它使用还是,还是完全其他? 我主要对1.7之前的版本感兴趣。 问题答案: 都不行 它使用JVM指令,这实际上是一个表查找。查看以下示例的字节码:

  • 问题内容: 我已经使用selenium2周了。 到目前为止,它确实非常有用。 在开发时,我喜欢弹出浏览器,以便可以看到发生了什么,但是在生产中,我不希望服务器继续打开和关闭Firefox窗口。我浏览了这个论坛,完成了Google搜索等工作,但是找不到在后台运行浏览器的方法。 有人对如何执行此操作有提示吗? 问题答案: 尝试使用PhantomJS,这是一个无头的浏览器Webkit。 HTMLUnit