【发布时间】:2018-09-06 18:02:38
【问题描述】:
我有这种情况:我有一个在 ubuntu 终端(xfce4-terminal)上作为控制台/进程运行的 php 脚本(在 php 中有一个带有某些进程的循环)。 问题是:由于内存过度使用,该进程每两天就会被杀死。 我需要的是:一个可以启动进程的 bash 脚本,每 48 小时它会杀死该进程并重新启动它。
【问题讨论】:
-
如果您的进程运行 48 小时,您想解释一下哪个进程需要这么长时间并且需要定期重新启动吗?这听起来像是一个不寻常的过程
-
您没有将其配置为 systemd 服务有什么原因吗?如果它作为服务运行,它将在启动时自动启动,在它死后重新启动,并且您可以设置一个计时器以在需要时触发显式重新启动或只需配置一个最大值它被允许使用的内存,当它超过这个最大值时让它死掉并重新启动。
-
...也就是说,编写一个bash脚本首先是解决这个问题的错误方法。
-
我同意@RiggsFolly 的观点。听起来像“我有一辆汽车,交流发电机每周都会熄灭。我需要制造一台机器,每周六更换我汽车的交流发电机来解决这个问题”。内存泄漏可以修复吗?是否有另一种方法可以使用 cron 和 shell 或其他方法来执行此 php 脚本正在执行的操作...?
-
我认为这是解决问题的情况,而不是解决症状