我经常遇到 NetworkManager 及其相关组件的问题,当我没有时间调试或修复问题时,这些问题总是会失败。我正在尝试弄清楚如何积极地重新启动并卸载/加载两个内核模块以重新启动 NetworkManager。可以将其视为系统的软重启,但不注销。我已经设法对蓝牙问题执行了同样的操作,例如 btuse 并重新启动 bluetoothd。
我正在测试的系统:硬件:Thinkpad T460 操作系统:Arch Linux 网卡:WLAN 和英特尔网卡
到目前为止我遇到以下问题:
kernel: NetworkManager D 0 17671 1 0x00000004
kernel: Call Trace:
kernel: __schedule+0x239/0x890
kernel: schedule+0x3d/0x90
kernel: schedule_preempt_disabled+0x15/0x20
kernel: __mutex_lock.isra.2+0x295/0x520
kernel: ? __follow_mount_rcu.isra.30+0x68/0xe0
kernel: __mutex_lock_slowpath+0x13/0x20
kernel: ? __mutex_lock_slowpath+0x13/0x20
kernel: mutex_lock+0x25/0x30
kernel: misc_open+0x28/0x170
kernel: chrdev_open+0xa3/0x1c0
kernel: do_dentry_open+0x1bc/0x2e0
kernel: ? cdev_put.part.3+0x20/0x20
kernel: vfs_open+0x4e/0x80
kernel: path_openat+0x51e/0x13a0
kernel: ? shmem_getpage_gfp+0xf2/0xbc0
kernel: do_filp_open+0x9b/0x110
kernel: ? __check_object_size+0xaf/0x1b0
kernel: ? __alloc_fd+0xb2/0x160
kernel: do_sys_open+0x1ba/0x250
kernel: ? do_sys_open+0x1ba/0x250
kernel: SyS_openat+0x14/0x20
kernel: entry_SYSCALL_64_fastpath+0x1a/0xa5
kernel: RIP: 0033:0x7f2925471360
kernel: RSP: 002b:00007ffe2271fa50 EFLAGS: 00000293 ORIG_RAX: 0000000000000101
kernel: RAX: ffffffffffffffda RBX: 000055fe3e292200 RCX: 00007f2925471360
kernel: RDX: 0000000000080002 RSI: 000055fe3c860343 RDI: ffffffffffffff9c
kernel: RBP: 00007f2925457240 R08: 0000000000000000 R09: 0000000000000000
kernel: R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000000
kernel: R13: 0000000000000000 R14: 0000000000000000 R15: 00007f2927e5fb68
kernel: NetworkManager D 0 17797 1 0x00000004
此外,NetworkManger 进程没有得到正确清除,它们仍然以“僵尸进程”的形式存在,从而阻止服务重启
➜ ~ ps -A | grep Net
2392 ? 00:00:00 NetworkManager
2654 ? 00:00:00 NetworkManager
2789 ? 00:00:00 NetworkManager
2911 ? 00:00:00 NetworkManager
3966 ? 00:00:00 NetworkManager
4149 ? 00:00:00 NetworkManager
4308 ? 00:00:00 NetworkManager
4884 ? 00:00:00 NetworkManager
5047 ? 00:00:00 NetworkManager
5159 ? 00:00:00 NetworkManager
5284 ? 00:00:00 NetworkManager
5392 ? 00:00:00 NetworkManager
5487 ? 00:00:00 NetworkManager
5634 ? 00:00:00 NetworkManager
5738 ? 00:00:00 NetworkManager
5839 ? 00:00:00 NetworkManager
6009 ? 00:00:00 NetworkManager
6118 ? 00:00:00 NetworkManager
6213 ? 00:00:00 NetworkManager
6358 ? 00:00:00 NetworkManager
6478 ? 00:00:00 NetworkManager
... many more
我仍然可以通过从命令行设置 LAN 和 WLAN 来获得网络访问。
任何建议都很好,即使结果很糟糕也没关系。我宁愿系统出现内核崩溃,也不愿做任何事情。因为目前唯一的其他选择是重新启动。
答案1
如果我理解正确的话,systemctl restart NetworkManager
它不起作用,您需要重新启动。
所以,也许我错了,但如果它真的没有“正确清除”,看起来你需要重新启动而systemd
无需重新启动......
不知道这是否能解决您的问题,但要重新启动systemd
而无需重启,您可以执行(以 root 身份)
systemctl daemon-reexec
或者
systemctl restart systemd-journald