Skip to content

ddns-scripts: 删除域名后没有停止对应的进程 #1813

@mars-m9

Description

@mars-m9

Package Name

ddns-scripts

ImmortalWrt Version

24.10.4

ImmortalWrt Target/Subtarget

x86/64

Steps to Reproduce

前段时间在腾讯云的域名到期了,然后去阿里云买了个新的,就在 ddns 里把旧的域名删了然后添加了新的域名,然后今天发现系统日志有大量报错,即使停止 ddns 服务,仍然每分钟输出两条报错。

以下是一部分日志,从日志看起来已经重试了一万多次了。

Mon Dec  8 05:17:50 2025 user.err ddns-scripts[31601]: DNSPod: BIND host error: '1'
Mon Dec  8 05:17:50 2025 user.warn ddns-scripts[31601]: DNSPod: Get registered/public IP for 'home.xxx.xyz' failed - retry 15031/0 in 60 seconds
Mon Dec  8 05:18:50 2025 user.err ddns-scripts[31601]: DNSPod: BIND host error: '1'
Mon Dec  8 05:18:50 2025 user.warn ddns-scripts[31601]: DNSPod: Get registered/public IP for 'home.xxx.xyz' failed - retry 15032/0 in 60 seconds
Mon Dec  8 05:19:50 2025 user.err ddns-scripts[31601]: DNSPod: BIND host error: '1'
Mon Dec  8 05:19:50 2025 user.warn ddns-scripts[31601]: DNSPod: Get registered/public IP for 'home.xxx.xyz' failed - retry 15033/0 in 60 seconds
Mon Dec  8 05:20:50 2025 user.err ddns-scripts[31601]: DNSPod: BIND host error: '1'
Mon Dec  8 05:20:51 2025 user.warn ddns-scripts[31601]: DNSPod: Get registered/public IP for 'home.xxx.xyz' failed - retry 15034/0 in 60 seconds
Mon Dec  8 05:21:51 2025 user.err ddns-scripts[31601]: DNSPod: BIND host error: '1'
Mon Dec  8 05:21:51 2025 user.warn ddns-scripts[31601]: DNSPod: Get registered/public IP for 'home.xxx.xyz' failed - retry 15035/0 in 60 seconds
Mon Dec  8 05:22:51 2025 user.err ddns-scripts[31601]: DNSPod: BIND host error: '1'
Mon Dec  8 05:22:51 2025 user.warn ddns-scripts[31601]: DNSPod: Get registered/public IP for 'home.xxx.xyz' failed - retry 15036/0 in 60 seconds
Mon Dec  8 05:23:51 2025 user.err ddns-scripts[31601]: DNSPod: BIND host error: '1'

旧的服务项名称为“DNSPod”,新的服务项名称为“Aliyun”,并且服务列表里目前也只有一条“Aliyun”,/etc/config/ddns 配置文件里也只有一条“Aliyun”的配置。

以下是启动 ddns 服务和停止 ddns 服务后的进程(这里的启动和停止是在 ddns luci 中操作的):

root@ImmortalWrt:~# ps | grep ddns
20854 root      1624 S    {dynamic_dns_upd} /bin/sh /usr/lib/ddns/dynamic_dns_updater.sh -v 0 -S Aliyun -- start
21750 root      1184 S    grep ddns
31601 root      1656 S    {dynamic_dns_upd} /bin/sh /usr/lib/ddns/dynamic_dns_updater.sh -v 0 -S DNSPod -- start
root@ImmortalWrt:~# ps | grep ddns
21945 root      1184 S    grep ddns
31601 root      1656 S    {dynamic_dns_upd} /bin/sh /usr/lib/ddns/dynamic_dns_updater.sh -v 0 -S DNSPod -- start

我手动终止了 31601 进程后没有报错了,然后又重新添加了一个域名进行测试(同样是阿里云,命名为 test),我的添加步骤如下:
正常添加一个域名 - 保存并应用 - 重新加载 - 服务正常运行。
删除步骤如下:
点击该域名后面的删除 - 保存并应用,此时查看进程(test 进程仍然运行中):

root@ImmortalWrt:~# ps | grep ddns
22126 root      1624 S    {dynamic_dns_upd} /bin/sh /usr/lib/ddns/dynamic_dns_updater.sh -v 0 -S Aliyun -- start
23110 root      1636 S    {dynamic_dns_upd} /bin/sh /usr/lib/ddns/dynamic_dns_updater.sh -v 0 -S test -- start
23863 root      1184 S    grep ddns

点击停止 ddns 服务后,test 进程仍然在运行:

root@ImmortalWrt:~# ps | grep ddns
23110 root      1636 S    {dynamic_dns_upd} /bin/sh /usr/lib/ddns/dynamic_dns_updater.sh -v 0 -S test -- start
24042 root      1184 S    grep ddns

值得注意的是,域名后面的停止按钮似乎是摆设,转圈但是没反应,刷新页面仍然运行中。

先点击停止 ddns 服务,再删除域名,再启动,就没有问题了,直接删除域名的话就会有问题。

Actual Behaviour

同上。

Confirmation Checklist

  • The package is maintained in this repository.
  • I understand that issues related to the core repository or LuCI repository will be closed.
  • I am reporting an issue for ImmortalWrt, not an unsupported fork.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions