【发布时间】:2014-09-01 07:22:03
【问题描述】:
我的应用创建了一个点击界面,一切正常。但是在 FreeBSD 上,当它退出时,点击界面仍然存在。要删除它,我必须手动运行此命令:
sudo ifconfig tap0 destroy
但我想在我的应用程序中以编程方式执行此操作。我在哪里可以找到 SIOCIFDESTROY 的文档?以下是我在应用退出时尝试过的方法:
struct ifreq ifr;
memset(&ifr, '\0', sizeof(ifr));
strcpy(ifr.ifr_name, "tap0");
int sock = socket(PF_INET, SOCK_STREAM, 0);
err = ioctl(sock, SIOCIFDESTROY, &ifr);
此时err为零,但app结束时点击界面依然存在。有谁知道我可能还缺少什么?
【问题讨论】:
-
没关系...!在我尝试过的所有事情中,我粘贴在我的问题中的确切代码是 did 工作的。由于之前创建的所有 TAP 接口,我只是没有注意到我找到了解决方案。不知道如何处理这个问题。随意关闭,或为任何希望使用 SIOCIFDESTROY 的未来开发者开放。
-
您可能想回答这个问题 - 并重复工作代码 - 并解释发生了什么。这似乎很有价值,这样问题(可能)就不会被删除。
标签: freebsd ioctl ifconfig tun-tap