当前位置: 首页 > news >正文

网站关键词seo优化公司改进网站的建议

网站关键词seo优化公司,改进网站的建议,专门型网站,平度网站建设阅读本文前#xff0c;请先学习下面几篇文章 《搞懂进程组、会话、控制终端关系#xff0c;才能明白守护进程干嘛的#xff1f;》 《简简单单教你如何用C语言列举当前所有网口#xff01;》 《Linux下C语言操作网卡的几个代码实例#xff01;特别实用》 《安卓如何设置…阅读本文前请先学习下面几篇文章 《搞懂进程组、会话、控制终端关系才能明白守护进程干嘛的》 《简简单单教你如何用C语言列举当前所有网口》 《Linux下C语言操作网卡的几个代码实例特别实用》 《安卓如何设置开机自动启动某个程序ramdisk init.rc给你搞定》 一、usb网卡应该如何实现 前文讲了如何利用开源软件ifplugd实现监测网口状态变化 ifplugd的确可以实现监测网卡的状态并执行相应脚本 但是有个前提就是网口已经注册到系统中即用ifconfig -a能查看到 如何是usb网卡这种设备在插入usb口之后网口设备才会注册 使用过程中可能随时会拔掉usb网卡 那么这种情况下要想设置usb网卡那么就就需要修改ifplugd程序。 为了方便大家理解本文给大家讲解如何自己实现一个简化的程序ethcheck 可以实现自动监测网卡是否存在 rk3568所有网口 rk3568_r:/system # ifconfig -a lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope: Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 TX bytes:0 dummy0 Link encap:Ethernet HWaddr fa:85:6c:74:1b:7d inet6 addr: fe80::f885:6cff:fe74:1b7d/64 Scope: Link UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 TX bytes:560 sit0 Link encap:IPv6-in-IPv4 NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 TX bytes:0 ip6tnl0 Link encap:UNSPEC NOARP MTU:1452 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 TX bytes:0 eth1 Link encap:Ethernet HWaddr 5a:53:63:cf:dd:0b Driver rk_gmac-dwmac UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 TX bytes:0 Interrupt:51 ip_vti0 Link encap:UNSPEC NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 TX bytes:0 eth0 Link encap:Ethernet HWaddr 5e:53:63:cf:dd:0b Driver rk_gmac-dwmac UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 TX bytes:0 Interrupt:38 ip6_vti0 Link encap:UNSPEC NOARP MTU:1364 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 TX bytes:0 二、程序设计 0.程序框图 1. 设置程序为守护进程 因为该程序最终要在后台执行并且常驻内存所以必须将该进程设置为守护进程 关于守护进程的内容请参考下面文章 《搞懂进程组、会话、控制终端关系才能明白守护进程干嘛的》 参考代码如下 void init_daemon(void) {int pid;int i;if(pidfork())exit(0);//是父进程结束父进程?else if(pid 0)exit(1);//fork失败退出?//是第一子进程后台继续执行?setsid();//第一子进程成为新的会话组长和进程组长? //并与控制终端分离?chdir(/tmp);//改变工作目录到/tmp?umask(0);//重设文件创建掩模?for(i0;i NOFILE;i)//关闭打开的文件描述符?close(i);return; }2. 确认制定网口是否存在 要确认指定网口是否存在主要通过/proc/net/dev 目录下是否有该网口信息 pengubuntu:~$ cat /proc/net/dev Inter-| Receive | Transmitface |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressedlo: 26163 292 0 0 0 0 0 0 26163 292 0 0 0 0 0 0eth0: 285444708 243273 0 0 0 0 0 0 91828270 88660 0 0 0 0 0 0如何用C语言实现检测指定网口可以参考下面文章 《简简单单教你如何用C语言列举当前所有网口》 参考代码 static char * interface_name_cut (char *buf, char **name) {char *stat;/* Skip white space. Line will include header spaces. */while (*buf )buf;*name buf;/* Cut interface name. */stat strrchr (buf, :);*stat \0;return stat; } /* return value:1 exist 0:no */ int check_interface_fromproc(char *interface) {FILE *fp;char buf[PROCBUFSIZ];struct interface *ifp;char *name;/* Open /proc/net/dev. */fp fopen (_PATH_PROC_NET_DEV, r);if (fp NULL){ printf(open proc file error\n);return -1; } /* Drop header lines. */fgets (buf, PROCBUFSIZ, fp);fgets (buf, PROCBUFSIZ, fp);/* Only allocate interface structure. Other jobs will be done inif_ioctl.c. */while (fgets (buf, PROCBUFSIZ, fp) ! NULL){ interface_name_cut (buf, name);if(strcmp(interface,name)0)return 1;} fclose(fp);return 0; }3. 指定网口不存在 如果检测网口不存在则需要休眠然后继续监测/proc/net/dev文件。 4. 如果指定网口存在 则获取该网口的IP地址然后比较是否是指定的IP地址 网卡IP地址的获取主要通过系统调用ioctl()的 SIOCGIFADDR命令实现 关于如何用c语言操作网卡擦靠下面文章 《Linux下C语言操作网卡的几个代码实例特别实用》 参考代码如下 int getLocalIp(const char *eth, char *ip) {struct ifreq ifr;struct sockaddr_in sin;int fd;bzero(ifr, sizeof(ifr));if ((fd socket(AF_INET, SOCK_STREAM, 0)) 0) {return -1;}strcpy(ifr.ifr_name, eth);if (ioctl(fd, SIOCGIFADDR, ifr) 0) {close(fd);return -1;}memcpy(sin, ifr.ifr_addr, sizeof(sin));snprintf(ip, IP_SIZE, %s, inet_ntoa(sin.sin_addr));close(fd);return 0; }读取的ip地址存放在参数ip指向的内存中。 5. ip地址相同 如果网卡地址与指定的ip地址相同那么不需要修改地址休眠一段时间根据实际操作的频率设置时间 然后再监测网口是否存在 6. IP地址不相同 如果ip地址不相同则需要修改ip地址 执行我们提前设置好的脚本if.sh即可 #!/bin/bashIPADDR192.168.40.8 ETHPORTeth1 echo ethcheck set $ETHPORT $IPADDR echo $# echo $0 echo $1 echo $2 if [ $# -eq 2 ];thenif [ $1 $ETHPORT ];then echo $ETHPORTif [ $2 up ];thenifconfig $ETHPORT $IPADDRsleep 1ip rule add from all lookup main pref 9000 sleep 1echo 1 /proc/sys/net/ipv4/ip_forward iptables -Fecho set $ETHPORT doneelif [ $2 down ];thenecho downelif [ $2 disable ];thenecho disableelif [ $2 error ];thenecho errorfifi fi7. 设置为开机启动 要实现开机就自动运行ifplugd可以参考下面文章 《安卓如何设置开机自动启动某个程序ramdisk init.rc给你搞定》 资料获取 完整代码点赞留言后台回复eth 更多嵌入式Linux知识请关注up主添加我的vx
http://www.ho-use.cn/article/10818421.html

相关文章:

  • 怎么做免费网站百度手机助手安卓版下载
  • 有多少做汽车的网站制作人韩剧结局
  • 上海建设银行网站转账记录微信开发者平台怎么登
  • 网站建设外包工作vi设计与网站建设招标文件
  • 什么是可信网站做网站一班需要多少钱
  • 临沂市住房和城乡建设局网站跨境网络营销是什么
  • 网站做的好的网络规划设计师论文50套范文
  • 可以做查询功能的网站网站推广的资源合作推广
  • 小企业网站建设和管理展厅设计的主题
  • 网站建设类公司可以拿哪些项目资金河北手机版建站系统价格
  • 漫画网站php源码国外简约企业网站
  • 乐彩网站源码网站建设网站弹出信息怎么做
  • 制作动画片的软件上海seo方案
  • h5成品网站做网站会用到的代码单词
  • 软件工网站开发课程设计报告做的图怎么上传到网站
  • 做软件项目需不需要有网站erp软件是什么软件
  • 集团网站信息建设情况如何查询网站历史快照
  • 外网如何查看局域网建设的网站wordpress 外网
  • 网站做广告的好处崇川网站建设
  • 做网站推广需要做什么互动吧网站模板
  • 做电商网站电商公司wordpress 添加目录
  • 免费书画网站怎么做的iosapp开发用什么语言
  • 网站成品作业广州 网站建设 020
  • wordpress新站都该设置些什么网站空间价格怎么算
  • 网站地图制作方法自学编程网站免费
  • 如何做学校的网站嘉兴网站制作建设
  • 做外贸网站义乌上海工商网查询官网
  • 网站开发流程及详解dedecms漏洞
  • 柳州网站制作工作室怎么制作网站教程步骤视频
  • 可以做长页海报的网站安阳网络教研平台首页