当前位置: 技术问答>linux和unix
Linux中,如何在网络状态改变的时候让系统自动执我的 .c 文件?
来源: 互联网 发布时间:2017-01-29
本文导语: Linux中,如何在网络状态改变的时候让系统自动执我的 .c 文件? 就是说: 如果网络从未连接到连接成功的时候 就执行一次 .c 文件 获得IP 和MAC? 代码检测网络状态的话可能效率不好, 怎么样才能让系统 在网...
Linux中,如何在网络状态改变的时候让系统自动执我的 .c 文件?
就是说: 如果网络从未连接到连接成功的时候 就执行一次 .c 文件 获得IP 和MAC?
代码检测网络状态的话可能效率不好, 怎么样才能让系统 在网络状态从未连接到连接的时候就 执行我的 .c 文件呢?
就是说: 如果网络从未连接到连接成功的时候 就执行一次 .c 文件 获得IP 和MAC?
代码检测网络状态的话可能效率不好, 怎么样才能让系统 在网络状态从未连接到连接的时候就 执行我的 .c 文件呢?
|
需要编写一个任务程序A,在状态改变时执行你的.c可执行文件,例如system("abc.c");
有一个问题要考虑的是,状态改变由谁检测?
如果是A检测,那么A可以用无限循环,信号量来等待事件发生;
如果是另外一个任务检测,那么得到的结果要交给A,可以用共享内存、信号、信号量、管道、文件等技术传递。
有一个问题要考虑的是,状态改变由谁检测?
如果是A检测,那么A可以用无限循环,信号量来等待事件发生;
如果是另外一个任务检测,那么得到的结果要交给A,可以用共享内存、信号、信号量、管道、文件等技术传递。
|
共享内存、信号、信号量、管道等技术都可以实现
|
if(网络连接成功 )
网络从未连接到连接成功的时候,获取地址?
你可以写一个线程,不断尝试连接外边的网站IP,如果成功则网络连接ok,此时就获取本机地址。
C里应该没有网络状态检测,但应该有一些类库可以实现网络状态检测。
网络从未连接到连接成功的时候,获取地址?
你可以写一个线程,不断尝试连接外边的网站IP,如果成功则网络连接ok,此时就获取本机地址。
C里应该没有网络状态检测,但应该有一些类库可以实现网络状态检测。
|
网络状态改变是什么意思 是局网能通还是外网能通?
|
那就写个shell 判断ping通某个外网地址的时候就是外网连通的时候, 那就执行你的c程序