我可能会错过一般概念中的某些内容,因为我搜索并没有找到答案...... 我正在用嵌入式Linux,C语言编写GUI应用程序。我想允许用户更改网络设置:
我已经发现可以使用套接字上的ioctl更改IP,子网和网关。 我发现从我的应用程序激活uDHCPc的唯一方法是通过调用函数:system(...)来执行shell命令,这样就像运行shell sript一样笨拙,运行ifconfig for get / set ip address。
在嵌入式Linux中从我的C应用程序运行“脚本活动”(DHCP启用/禁用;读/写系统设置)的正确/常用方法是什么?
感谢。
答案 0 :(得分:0)
DHCP是一种可在网络上运行的协议。它在用户空间程序中实现,例如uDHCPc。没有内核实现,也没有办法使用ioctls。 system()函数可以工作,但它也会生成一个中间shell。如果你想要更高的效率,你可以自己使用fork()和exec()来调用uDHCPc作为子进程。