2

我目前正在第一次部署一个用 Java 编写的大型服务器端应用程序。有连续的控制台输出,我想偶尔监控并验证它是否正在运行,理想情况下,如果它因任何原因崩溃时会收到警报。

如果我 SSH 进入服务器并执行可执行文件,然后注销该会话,我相信它会终止该可执行文件。那么,即使我的客户端计算机没有 24/7 全天候登录,我如何启动可执行文件并允许它运行?当我确实想查看可执行文件的输出时,我可以利用它吗?

我通过 AWS 设置了一个基本警报,如果网络流量低于 2kb/s,它会提醒我。除此之外我还能设置什么?

4

4 回答 4

2

与 AWS 无关。您可以假设您的 EC2 实例为远程机器。如果它是基于 Unix 的机器。这很简单。SSH 到您的机器,然后...

  1. 运行您的可执行文件

    sudo nohup /path/to/my/exec > /path/to/log/file.log &
    
  2. 如果您想查看机器的 SSH 输出并使用vi

    vi /path/to/log/file.log
    

    查看运行日志使用tail

    tail -f /path/to/log/file.log
    
于 2012-06-21T04:13:25.567 回答
0

使用屏幕 ( http://en.wikipedia.org/wiki/GNU_Screen ) 或 Byobu ( http://en.wikipedia.org/wiki/Byobu_%28software%29 ) 允许进程在您注销时继续运行. 您可以在重新登录时重新连接到会话。您可以在 Google 上找到您选择的教程;有许多。

于 2012-06-20T05:00:00.327 回答
0

AFAIK,你最好的选择是使用nohup这里这里)。它允许运行命令、退出并在nohup.log文件中查看进程的输出。

而且由于它是一个标准命令,它已经可以在任何 linux 发行版上使用(无需安装任何东西)。

于 2012-06-20T07:22:40.127 回答
0

正如上面的帖子中提到的。如果您的服务器是 Linux 机器,您可以随时执行 nohup commandname.sh ,这会将您的执行日志附加到 nohup 日志中。因此,您可以随时关闭控制台并重新登录,然后转到 nohup 文件的位置并查看 tail -f nohup.out。

于 2012-06-21T04:07:02.023 回答