正在运行高级键值存储的停止作业(X / 无限制)

Das*_*ebs 8 redis

所以在我的 ubuntu 20.04 服务器上安装 redis 之后。每当我重新启动。高级键值存储出现停止作业。我相信这是 redis 的一部分,但我不知道为什么它不断出现并花费这么长时间。我如何阻止它

小智 4

我也遇到了这个问题,修复方法非常简单。您需要编辑由以下命令定义的redis服务文件systemctl show -P FragmentPath redis.service

$ systemctl show -P FragmentPath redis.service
/lib/systemd/system/redis-server.service
Run Code Online (Sandbox Code Playgroud)

查找包含的行TimeoutStopSec并将其设置为所需的最大值(以秒为单位)。我一般设置为5秒。

配置文件后,该行应如下所示

TimeoutStopSec=5s
Run Code Online (Sandbox Code Playgroud)

现在就是这样,您可能想运行该命令systemctl daemon-reload来补充这一点。

然后,您可以尝试重新启动或关闭以确认更改有效。

奖金

如果您想设置整个系统的最大超时,您可以在/etc/systemd/system.conf文件中进行操作。

找到这条线DefaultTimeoutStopSec并像之前一样进行设置。


小智 0

检查 /etc/redis/redis.log 文件以了解无法重新启动的原因。

对于我来说,我遇到了以下错误:

1963:signal-handler (1670871763) Received SIGTERM scheduling shutdown...
1963:M 12 Dec 2022 14:02:43.145 # User requested shutdown...
1963:M 12 Dec 2022 14:02:43.145 * Saving the final RDB snapshot before 
exiting.
1963:M 12 Dec 2022 14:02:43.145 # Failed opening the temp RDB file temp-
1963.rdb (in server root dir /var/log) for saving: Read-only file system
1963:M 12 Dec 2022 14:02:43.145 # Error trying to save the DB, can't exit.
1963:M 12 Dec 2022 14:02:43.145 # Errors trying to shut down the server. 
Run Code Online (Sandbox Code Playgroud)

检查日志以获取更多信息。

为了解决这个问题,我刚刚运行了以下命令来解决问题。

sudo chown redis /var/log/redis/redis.log && sudo chmod u+x /var/log/redis/redis.log
Run Code Online (Sandbox Code Playgroud)