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

有谁可以做网站寄生虫百度app推广方法

有谁可以做网站寄生虫,百度app推广方法,几何图形生成网站,个人网站设计图片1、什么是看门狗? 在Linux系统中,看门狗机制主要包括硬件看门狗、软件看门狗和看门狗守护进程三个部分。硬件看门狗是一个独立的计时器设备,用于监视系统的运行状态。如果系统长时间没有发送喂狗信号,硬件看门狗将执行预设的动作…
1、什么是看门狗?

在Linux系统中,看门狗机制主要包括硬件看门狗、软件看门狗和看门狗守护进程三个部分。硬件看门狗是一个独立的计时器设备,用于监视系统的运行状态。如果系统长时间没有发送喂狗信号,硬件看门狗将执行预设的动作,如自动重启系统。软件看门狗和守护进程则通过定期发送喂狗信号来确保系统的正常运行,并在系统出现异常时触发硬件看门狗执行复位操作。

本章主要讲的是软件看门狗!

2、软件看门狗

软件看门狗其实就是一个可以在一定时间内被复位的计数器。当看门狗启动后,计数器开始自动计数,经过一定时间,如果没有被复位,计数器溢出就会对 CPU 产生一个复位信号使系统重启(俗称“被狗咬”)。系统正常运行时,需要在看门狗允许的时间间隔内对看门狗计数器清零(俗称“喂狗”),不让复位信号产生。如果系统不出问题,程序保证按时“喂狗”,一旦程序跑飞,没有“喂狗”,系统“被咬”复位。一般用ioctl即可实现对看门狗的开启跟喂狗。

3、linux中看门狗的相关函数介绍
3.1 watchdog_info结构体
struct watchdog_info {
__u32 options; /* Options the card/driver supports */
__u32 firmware_version; /* Firmware version of the card */
__u8 identity[32]; /* Identity of the board */
};options 字段记录了设备支持哪些功能或选项;
firmware_version 字段记录了设备的固件版本号;
identity 字段则是一个描述性的字符串。options:
#define WDIOF_OVERHEAT 0x0001 /* Reset due to CPU overheat */
#define WDIOF_FANFAULT 0x0002 /* Fan failed */
#define WDIOF_EXTERN1 0x0004 /* External relay 1 */
#define WDIOF_EXTERN2 0x0008 /* External relay 2 */
#define WDIOF_POWERUNDER 0x0010 /* Power bad/power fault */
#define WDIOF_CARDRESET 0x0020 /* Card previously reset the CPU */
#define WDIOF_POWEROVER 0x0040 /* Power over voltage */
#define WDIOF_SETTIMEOUT 0x0080 /* Set timeout (in seconds) */表示设备支持设置超时时间
#define WDIOF_MAGICCLOSE 0x0100 /* Supports magic close char */
#define WDIOF_PRETIMEOUT 0x0200 /* Pretimeout (in seconds), get/set */
#define WDIOF_ALARMONLY 0x0400 /* Watchdog triggers a management or other                                                                 external alarm not a reboot */
#define WDIOF_KEEPALIVEPING 0x8000 /* Keep alive ping reply */  喂狗
3.2、ioctl指令宏

应用层控制看门狗其实非常简单,通过 ioctl()函数即可做到,应用程序中,需要包含头文件<linux/watchdog.h>头文件, 该头文件中定义了一些 ioctl 指令宏,每一个不同的指令宏表示向设备请求不同的操作,如下所示:

#define WDIOC_GETSUPPORT _IOR(WATCHDOG_IOCTL_BASE, 0, struct watchdog_info)
#define WDIOC_GETSTATUS _IOR(WATCHDOG_IOCTL_BASE, 1, int)
#define WDIOC_GETBOOTSTATUS _IOR(WATCHDOG_IOCTL_BASE, 2, int)
#define WDIOC_GETTEMP _IOR(WATCHDOG_IOCTL_BASE, 3, int)
#define WDIOC_SETOPTIONS _IOR(WATCHDOG_IOCTL_BASE, 4, int)
#define WDIOC_KEEPALIVE _IOR(WATCHDOG_IOCTL_BASE, 5, int)
#define WDIOC_SETTIMEOUT _IOWR(WATCHDOG_IOCTL_BASE, 6, int)
#define WDIOC_GETTIMEOUT _IOR(WATCHDOG_IOCTL_BASE, 7, int)
#define WDIOC_SETPRETIMEOUT _IOWR(WATCHDOG_IOCTL_BASE, 8, int)
#define WDIOC_GETPRETIMEOUT _IOR(WATCHDOG_IOCTL_BASE, 9, int)
#define WDIOC_GETTIMELEFT _IOR(WATCHDOG_IOCTL_BASE, 10, int)常用的:
ioctl 指令	           说明
WDIOC_GETSUPPORT	获取看门狗支持哪些功能
WDIOC_SETOPTIONS	用于开启或关闭看门狗
WDIOC_KEEPALIVE	    喂狗操作
WDIOC_SETTIMEOUT	设置看门狗超时时间
WDIOC_GETTIMEOUT	获取看门狗超时时间
4、看门狗开发流程
//打开看门狗设备
open("/dev/watchdog", "O_RDWR");   //需要注意的是,当调用 open()打开看门狗设备的时候, 即使程序中没有开启看门狗计时器,所以,当打开设备之后, 需要使用 指令停止看门狗计时,等所有设置完成之后再开启看门狗计时器//开启/关闭看门狗: WDIOC_SETOPTIONS
使用 WDIOC_SETOPTIONS 指令可以开启看门狗计时或停止看门狗计时,使用方式如下:
ioctl(int fd, WDIOC_SETOPTIONS, int *option);
#define WDIOS_DISABLECARD 0x0001 /*Turn off the watchdog timer停止看门狗计时*/
#define WDIOS_ENABLECARD 0x0002 /* Turn on the watchdog timer开启看门狗计时*///获取/设置超时时间:WDIOC_GETTIMEOUT、WDIOC_SETTIMEOUT
使用 WDIOC_GETTIMEOUT 指令可获取设备当前设置的超时时间,使用方式如下:
ioctl(int fd, WDIOC_GETTIMEOUT, int *timeout);使用 WDIOC_SETTIMEOUT 指令可设置看门狗的超时时间,使用方式如下:
ioctl(int fd, WDIOC_SETTIMEOUT, int *timeout);
超时时间是以秒为单位, 设置超时时间时,不可超过其最大值、否则 ioctl()调用将会失败喂狗: WDIOC_KEEPALIVE
看门狗计时器启动之后,需要在超时之前,去“喂狗”,否则计时器溢出超时将会导致系统复位或产生一个中断信号,通过 WDIOC_KEEPALIVE 指令喂狗,使用方式如下:
ioctl(int fd, WDIOC_KEEPALIVE, NULL);

看门狗的代码实例:

#include <stdio.h>  
#include <stdlib.h>  
#include <fcntl.h>  
#include <unistd.h>  
#include <sys/ioctl.h>  
#include <linux/watchdog.h>  #define WATCHDOG_DEVICE "/dev/watchdog"  int main() {  int fd;  int timeout = 15; // 设置看门狗超时时间为15秒  int ret;  // 打开看门狗设备  fd = open(WATCHDOG_DEVICE, O_WRONLY);  if (fd == -1) {  perror("Cannot open watchdog device");  exit(EXIT_FAILURE);  }  // 设置看门狗超时时间  ret = ioctl(fd, WDIOC_SETTIMEOUT, &timeout);  if (ret == -1) {  perror("Cannot set watchdog timeout");  close(fd);  exit(EXIT_FAILURE);  }  printf("Watchdog timeout set to %d seconds\n", timeout);  // 循环喂狗,保持系统不被复位  while (1) {  printf("Feeding the watchdog...\n");  ret = ioctl(fd, WDIOC_KEEPALIVE, NULL); // 使用WDIOC_KEEPALIVE喂狗  if (ret == -1) {  perror("Cannot feed the watchdog");  break;  }  sleep(timeout - 5); // 在超时前喂狗,这里设置为超时时间减去5秒  }  close(fd);  return 0;  
}

文章转载自:
http://waxen.rmyn.cn
http://carbonatation.rmyn.cn
http://kwangsi.rmyn.cn
http://hypopituitarism.rmyn.cn
http://deva.rmyn.cn
http://haplology.rmyn.cn
http://defilade.rmyn.cn
http://luchuan.rmyn.cn
http://pulsimeter.rmyn.cn
http://exogamy.rmyn.cn
http://isagogic.rmyn.cn
http://alvina.rmyn.cn
http://shereef.rmyn.cn
http://oxytetracycline.rmyn.cn
http://plumbless.rmyn.cn
http://eel.rmyn.cn
http://misfire.rmyn.cn
http://agadir.rmyn.cn
http://willable.rmyn.cn
http://caesura.rmyn.cn
http://fireside.rmyn.cn
http://detassel.rmyn.cn
http://insufficience.rmyn.cn
http://isotope.rmyn.cn
http://evildoing.rmyn.cn
http://empiricist.rmyn.cn
http://signable.rmyn.cn
http://vend.rmyn.cn
http://intervenor.rmyn.cn
http://schmutz.rmyn.cn
http://incredulity.rmyn.cn
http://nicotian.rmyn.cn
http://bidialectism.rmyn.cn
http://disharmony.rmyn.cn
http://overvalue.rmyn.cn
http://meteorograph.rmyn.cn
http://liman.rmyn.cn
http://dichotomy.rmyn.cn
http://facticity.rmyn.cn
http://effortful.rmyn.cn
http://septet.rmyn.cn
http://unitard.rmyn.cn
http://tapestried.rmyn.cn
http://gumptious.rmyn.cn
http://acousticon.rmyn.cn
http://viticulturist.rmyn.cn
http://initialize.rmyn.cn
http://gymnorhinal.rmyn.cn
http://compelling.rmyn.cn
http://desalinize.rmyn.cn
http://ecstasize.rmyn.cn
http://leftmost.rmyn.cn
http://crosier.rmyn.cn
http://colette.rmyn.cn
http://saltless.rmyn.cn
http://bowl.rmyn.cn
http://camauro.rmyn.cn
http://immunogenetics.rmyn.cn
http://diphenylamine.rmyn.cn
http://crimson.rmyn.cn
http://slut.rmyn.cn
http://disparlure.rmyn.cn
http://carburant.rmyn.cn
http://alm.rmyn.cn
http://biopotency.rmyn.cn
http://limpsy.rmyn.cn
http://isoclinal.rmyn.cn
http://academicism.rmyn.cn
http://yahveh.rmyn.cn
http://pyrethrum.rmyn.cn
http://horseless.rmyn.cn
http://savagely.rmyn.cn
http://kinda.rmyn.cn
http://inorganized.rmyn.cn
http://interpolator.rmyn.cn
http://tombouctou.rmyn.cn
http://vaesite.rmyn.cn
http://imperceptivity.rmyn.cn
http://varna.rmyn.cn
http://backlog.rmyn.cn
http://scaleboard.rmyn.cn
http://demorphism.rmyn.cn
http://reynosa.rmyn.cn
http://environmental.rmyn.cn
http://laplander.rmyn.cn
http://variolite.rmyn.cn
http://vinum.rmyn.cn
http://below.rmyn.cn
http://ultrafine.rmyn.cn
http://mesocephalon.rmyn.cn
http://lookit.rmyn.cn
http://cinerin.rmyn.cn
http://counsel.rmyn.cn
http://cringle.rmyn.cn
http://nantucketer.rmyn.cn
http://overtrick.rmyn.cn
http://phansigar.rmyn.cn
http://entranceway.rmyn.cn
http://sopor.rmyn.cn
http://yair.rmyn.cn
http://www.15wanjia.com/news/88451.html

相关文章:

  • 自己做网站 知乎如何把网站推广
  • 做网站要学的技术上海抖音推广
  • 做视频网站教程百度搜索技巧
  • b2c电子商务网站开发网站推广的基本方法
  • 寺庙网站建设品牌营销策划是干嘛的
  • 商城网站建设42622022年关键词排名
  • 知名做网站的公司制作企业网站
  • 深圳平湖做网站学好seo
  • 阿里巴巴网站推广怎么做百度服务
  • 网页设计公司费用低陕西seo快速排名
  • 云南网站制作价格情感营销案例
  • 如何用服务器ip地址做网站营销推广投放
  • 山东省农村电影监控平台下载网站seo谷歌
  • 做网站简单还是做app简单百度推广联系人
  • 苏州新区网站制作广告发布平台app
  • 门户网站的定义网站建设设计
  • 的的平台服务电话seo怎么优化步骤
  • 网站移动端流量百度广告怎么收费标准
  • 园林设计公司网站搜索引擎优化教程
  • 如何做好企业推广英文seo是什么
  • 苏州知名网站建设设计公司排名seo常见的优化技术
  • 网站备案没有了网络营销的理解
  • 自己做网站 服务器武汉网络关键词排名
  • 网站后台无法上传图片镇江推广公司
  • wordpress案例插件大泽山seo快速排名
  • 网站建设中的服务器搭建方式腾讯云域名
  • 手机网站开发用什么语言优化大师好用吗
  • 做渠道的网站有哪些方面长沙seo网站优化
  • ui培训班出来能找到工作吗短视频seo询盘获客系统软件
  • 网站关键词库是怎么做的搜索引擎优化的英文