如何使用bpftool卸载已加载的eBPF程序?
卸载已加载的eBPF程序
方法一:通过BPF文件系统文件卸载
你通过将程序加载到/sys/fs/bpf/my_ebpf_program完成部署,直接删除该文件即可触发内核卸载程序(无其他关联引用时生效):
sudo rm /sys/fs/bpf/my_ebpf_program
方法二:通过程序ID直接删除
从你提供的程序概览输出中,目标程序ID为302,可使用bpftool prog delete命令直接移除:
sudo bpftool prog delete id 302
验证卸载结果
执行以下命令确认程序已被移除:
bpftool prog list | grep 302
若无输出,说明程序已成功卸载。如果仍能看到该程序,说明存在其他关联依赖(比如绑定的tracepoint、共享的BPF映射等),需先清理这些依赖:
- 若为tracepoint程序,先解除与tracepoint的绑定:
(你的程序名为sudo bpftool tracepoint delete <对应tracepoint路径> id 302tracepoint__sys,对应的tracepoint路径可能类似syscalls/sys_enter_*,可通过bpftool tracepoint list查看已绑定的关联)
内容的提问来源于stack exchange,提问作者tomwassing
相关产品推荐
相关产品推荐

