我的服务器在100%CPU上运行。它在PHP中运行无限循环如何杀死循环?我可以重新启动而不丢失任何数据吗?
答案 0 :(得分:1)
使用AWS控制台“重新启动实例”选项会毫不奇怪地重启VM。预先假定您的循环过程未设置为在启动时自动启动,您将重新获得对VM的控制权。您不会丢失任何持久数据(即提交到磁盘),但您可能会丢失该进程在重新引导期间被杀死时所处理的任何瞬态数据(例如,未刷新的写入缓冲区)。
数据集是在实例临时存储(启动卷)还是其他EBS卷上没有区别 - 重启不会清除这些数据集。请注意,如果您终止实例并重新实例化它,您将丢失短暂卷上的任何数据(但不会在附加的EBS上丢失 - 在终止期间它会分离,您可以将其重新附加到新实例)。
良好做法:任何附加数据卷的常规卷快照,以及VM上的停止/快照/重启例程也可以让您备份短暂的卷。
答案 1 :(得分:0)
答案 2 :(得分:0)
使用ps aux
列出您的流程(ps aux | grep php
应该过滤您的php脚本,假设您从CLI开始)找到导致此问题的脚本的进程ID(pid)并发出{{ 1}}杀了它。