跟踪在Ubuntu中运行的程序/进程

时间:2018-10-26 18:30:11

标签: java docker ubuntu

我需要找到一种方法来跟踪程序P是否正在运行。我的程序在Ubuntu docker容器中,它是一个Java容器。我需要另一个程序来定期告诉我程序P正在运行。如果无法发送该消息,则必须重新启动程序。有没有办法找出这个?我们担心该程序或Docker容器可能会停止运行并影响用户体验。

2 个答案:

答案 0 :(得分:1)

尽管如此,但问题很广泛,我将尝试提供一些解决方案。

首先,如果您的java进程“失败”,则容器将终止工作。基于此,您只需执行docker ps即可确定您的应用是否正在运行。

如果您想要一些手写的解决方案,则可以在应用程序中实现运行状况检查其余端点,并定期对其进行命中以确保该应用程序正在运行。

答案 1 :(得分:1)

您可以在Docker容器上设置重启策略,这样,如果java遇到异常并退出,它将自动尝试重启容器。

docker run命令中,只需添加--restart unless-stopped,这样它将始终尝试重新启动,除非docker本身发送了stop命令。

有关此功能的更多信息,请参见: https://docs.docker.com/config/containers/start-containers-automatically/#restart-policy-details