请教以下几个操作如何实现? 谢谢!
操作1:重启程序
main() {
main_program(); // 主程序
check_restart_condition(); //检测重启条件是否满足
restart(); // 重启main()
}
要重启main()程序,这个restart()应该怎么写?
操作2:设置计算机的ip,mask,gateway
main() {
read_from_file(); //从文件中读取ip,mask,gateway配置参数值
set_computer_netparam(ip,mask,gateway); //设置计算机的ip,mask,gateway
}
请问set_computer_netparam()应该怎么写?linux有没有提供可配置网络参数的API调用命令?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
更多
发布评论
评论(8)
我用了如下命令
int main(void) {
system("ifconfig eth0 192.168.0.154 netmask 255.255.255.0");
return 0;
}
这个ip地址和隐码是否已经写入配置文件?难道每次启动都要调用这个命令?
int main(int argc, char **argv) {
printf( "Argv[1]: %sn", argv[1] );
if ( 0 == strcmp(argv[1], "restart") ) {
argv[1] = "quit";
execvp(argv[0], argv);
}
return 0;
}
execvp()命令类似于开启一个新的进程。而execvp()执行时,main()函数的return 0不知道是否已经执行?我的意思是:调用execvp()后,main()是否退出运行了,还是需要一直等到execvp执行完返回后才退出?
这个问题已经解决,只要写入到网络配置文件就行了。
请问, execvp执行后 , 本程序并不退出阿?
谢谢楼上两位的回复。
复制代码
复制代码
在/etc/sysconfig/目录下有个文件 network-scripts的文件,具体的我也记的不是很清楚了,在每个文件后面会带网络设备的后缀,比如-eth0(以太网接口0)...可以直接编写程序直接修改那个文件,再重新启动网络服务就可以了。
或者使用system 调用 ifconfig 命令也可以实现。自己试试看吧!
没有人知道吗? 给个能实现这些功能的方法也行,谢谢