我试图确定我的IP是否已经静态或dynamic分配在Ubuntu 11.04从C内。最接近我来检查/var/lib/dhcp/dhclient.leases ,但不会改变,如果静态IP被分配(因为它为将来的连接尝试cachingDHCP租约)。
所以…是否有一个命令行工具(用于Ubuntu),这将允许我检查DHCP是否启用或禁用?
或者:机器是专用于一个应用程序的服务器; 维护一个跟踪DHCP状态的环境variables会更简单吗?
理论上,如果您启用了dhcp,则应该运行dhclient。 所以一个(虽然kludgey)的方式做到这一点将是简单的:
ps ax | grep dhclient | grep eth0(或者你想要的任何一个接口)。
但是你也可以尝试一下“nmcli con”,它会告诉你“Auto eth0”(我认为)是否是一个dhcp接口。
另外看看nm-tool
HTH
有可能通过NetworkManager的DBUS API,但是IP地址的源不会在接口列表中popup,请与所述应用程序的开发者讨论。
http://projects.gnome.org/NetworkManager/developers/spec.html