在EC2实例上运行和监视Java
我目前正在进行我的第一个大型服务器端应用程序的部署,该应用程序是用Java编写的。有一个连续的控制台输出,我想偶尔监视和验证它是否正在运行,如果它因任何原因崩溃,理想情况下会收到警报 如果我使用SSH连接到服务器并执行可执行文件,然后注销该会话,我相信它会终止该可执行文件。那么,如何启动可执行文件并允许它运行,即使我的客户端计算机没有全天候登录?当我想看到可执行文件的输出时,我能点击它吗在EC2实例上运行和监视Java,java,ssh,amazon-ec2,cloud,Java,Ssh,Amazon Ec2,Cloud,我目前正在进行我的第一个大型服务器端应用程序的部署,该应用程序是用Java编写的。有一个连续的控制台输出,我想偶尔监视和验证它是否正在运行,如果它因任何原因崩溃,理想情况下会收到警报 如果我使用SSH连接到服务器并执行可执行文件,然后注销该会话,我相信它会终止该可执行文件。那么,如何启动可执行文件并允许它运行,即使我的客户端计算机没有全天候登录?当我想看到可执行文件的输出时,我能点击它吗 我有一个通过AWS设置的基本警报,如果网络流量下降到2kb/s以下,它将向我发出警报。除此之外,我还可以设置
我有一个通过AWS设置的基本警报,如果网络流量下降到2kb/s以下,它将向我发出警报。除此之外,我还可以设置什么?使用screen()或Byobu()允许进程在您注销时继续运行。您可以在重新登录时重新连接到会话。你可以在谷歌上搜索你选择的教程;有很多。好吧,你最好的选择是使用
nohup
(和)。它允许运行命令、退出并在nohup.log
文件中查看进程的输出
由于这是一个标准命令,它已经在任何linux发行版上可用(无需安装任何东西)。如上述文章所述。如果您的服务器是Linux机器,则始终可以执行nohup commandname.sh&这将把您的执行日志附加到nohup日志中。因此,您可以随时关闭控制台并重新登录,然后转到nohup文件的位置并查看tail-f nohup.out。与AWS无关。您可以将EC2实例假定为远程计算机。如果是基于Unix的机器。很简单。SSH连接到您的计算机并
sudo nohup /path/to/my/exec > /path/to/log/file.log &
vi
vi /path/to/log/file.log
要查看运行日志,请使用tail
tail -f /path/to/log/file.log