【Linux】好用的定时器

简介: 【Linux】好用的定时器

前言


其实这是一篇爬虫技术探讨文,但涉及的知识点也属于前端,所以希望有缘遇到个前端大神。


正文



一直在用 JavaScript 写爬虫,和 Selenium 类似,JavaScript 爬虫也需要定位元素,也许要获取元素内的内容。静态的元素节点很好获取,涉及到动态的部分就有点麻烦。最近遇到问题就比较坑,至今没有解决(但从爬虫来说,我是有有解决方案的,但得搭配中间代理,这样子的话,就增加了 JavaScript 爬虫项目的复杂度,依赖太多的话,我是不愿意看到的)。


0.webp.jpg


对应到HTML结构:


<div class="CardBodyWrapper-dMGXtr dTgbUb"><div class="LegendsContainer-jHynWL csEbdF"><div class="GridBox-blnjUL gAMTnn"><div class="GridBox-blnjUL gAMTnn legends-container"><div cursor="pointer" class="sc-iFMziU jaARqV"><div color="#435993" class="sc-gojNiO gvHAIf sc-keVrkP dXRzOr" data-automation-checkbox="true"><div class="sc-cQFLBn khmypV"><div class="sc-bdVaJa sc-GMQeP sc-exAgwC cwSdrx SWReactIcons" data-pdf-icon="SWReactIcons" data-automation-icon-name="checkbox-on"><svg width="100%" height="100%" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" fill="#B0BAC8" fill-rule="nonzero"></path></svg>
</div></div></div><div class="legend-text-container" style="display: flex;"><label data-automation-title="true" size="14" opacity="0.8" class="sc-iomxrj yQzYQ">energinet.dk</label></div><div style="grid-column-start: 2;"><label data-automation-sub-value="true" size="23.8" class="sc-iomxrj kgZcqI">488,120</label></div></div></div><div class="AutoCompareWrapper-iiphwV kRmfhk"><div class="Circle-ecTXYr kUTJXa"><div class="VS-fPeIXQ cBvpdT">VS.</div></div><div class="Competitors-jkDfqq dTgQfI"><div class="GridBox-blnjUL gAMTnn legends-container"><div cursor="pointer" class="sc-iFMziU jaARqV"><div color="#FF7A1A" class="sc-gojNiO fZcRoR sc-keVrkP dXRzOr" data-automation-checkbox="true"><div class="sc-cQFLBn khmypV"><div class="sc-bdVaJa sc-GMQeP sc-exAgwC fhccud SWReactIcons" data-pdf-icon="SWReactIcons" data-automation-icon-name="checkbox-off"><svg width="100%" height="100%" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 5v14H5V5h14zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z" fill="#B0BAC8" fill-rule="nonzero"></path></svg>
</div></div></div><div class="legend-text-container" style="display: flex;"><label data-automation-title="true" size="14" opacity="0.8" class="sc-iomxrj yQzYQ">tax.dk</label></div><div style="grid-column-start: 2;"><label data-automation-sub-value="true" size="23.8" class="sc-iomxrj kgZcqI">86,976</label></div></div><div cursor="pointer" class="sc-iFMziU jaARqV"><div color="#1EC794" class="sc-gojNiO cJPFvf sc-keVrkP dXRzOr" data-automation-checkbox="true"><div class="sc-cQFLBn khmypV"><div class="sc-bdVaJa sc-GMQeP sc-exAgwC cXOIwJ SWReactIcons" data-pdf-icon="SWReactIcons" data-automation-icon-name="checkbox-off"><svg width="100%" height="100%" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 5v14H5V5h14zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z" fill="#B0BAC8" fill-rule="nonzero"></path></svg>
</div></div></div><div class="legend-text-container" style="display: flex;"><label data-automation-title="true" size="14" opacity="0.8" class="sc-iomxrj yQzYQ">skat.dk</label></div><div style="grid-column-start: 2;"><label data-automation-sub-value="true" size="23.8" class="sc-iomxrj kgZcqI">9.826M</label></div></div><div cursor="pointer" class="sc-iFMziU jaARqV"><div color="#FFB800" class="sc-gojNiO fETeDI sc-keVrkP dXRzOr" data-automation-checkbox="true"><div class="sc-cQFLBn khmypV"><div class="sc-bdVaJa sc-GMQeP sc-exAgwC tmgKq SWReactIcons" data-pdf-icon="SWReactIcons" data-automation-icon-name="checkbox-off"><svg width="100%" height="100%" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 5v14H5V5h14zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z" fill="#B0BAC8" fill-rule="nonzero"></path></svg>
</div></div></div><div class="legend-text-container" style="display: flex;"><label data-automation-title="true" size="14" opacity="0.8" class="sc-iomxrj yQzYQ">demanda.ree.es</label></div><div style="grid-column-start: 2;"><label data-automation-sub-value="true" size="23.8" class="sc-iomxrj kgZcqI">221,550</label></div></div><div cursor="pointer" class="sc-iFMziU jaARqV"><div color="#0FBFE5" class="sc-gojNiO kTFDGO sc-keVrkP dXRzOr" data-automation-checkbox="true"><div class="sc-cQFLBn khmypV"><div class="sc-bdVaJa sc-GMQeP sc-exAgwC iJdcqF SWReactIcons" data-pdf-icon="SWReactIcons" data-automation-icon-name="checkbox-off"><svg width="100%" height="100%" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 5v14H5V5h14zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z" fill="#B0BAC8" fill-rule="nonzero"></path></svg>
</div></div></div><div class="legend-text-container" style="display: flex;"><label data-automation-title="true" size="14" opacity="0.8" class="sc-iomxrj yQzYQ">postdanmark.dk</label></div><div style="grid-column-start: 2;"><label data-automation-sub-value="true" size="23.8" class="sc-iomxrj kgZcqI">79,018</label></div></div></div></div><div class="CompareButtonWrapper-bTBmi cQctLa"><button class="sc-dTdPqK sc-ipXKqB ficfQE Button" data-automation-button-disabled="false" data-automation-button-type="outlined" data-automation-button-loading="false" style="width: auto; height: 37px;"><div class="sc-itybZL fkOfAi">Compare 5 sites</div></button></div></div></div></div><div style="position: relative;"><div style="height: 100%; position: relative;"><div class="AddButtonContainer-etOnJy kvjwvT hidden-print" title="Add annotation to this chart" style="visibility: hidden; left: 665px; top: 236px;"><button class="sc-dTdPqK sc-fzsDOv fYyjTC Button sc-dEoRIm sc-jKVCRD hJgpOw AddIconButton-vNaKh ctPJQS" data-automation-button-disabled="false" data-automation-button-type="flat" data-automation-button-loading="false" style="width: 40px; height: 40px;"><div class="sc-bdVaJa jcykhL SWReactIcons" data-pdf-icon="SWReactIcons" data-automation-icon-name="add-annotation"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20 2H4C2.9 2 2.01 2.9 2.01 4L2 22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2ZM18 14H6V12H18V14ZM18 11H6V9H18V11ZM18 8H6V6H18V8Z" fill="#3E74FE"></path>
</svg>
</div></button></div><div data-highcharts-chart="17" style="height: 100%; overflow: hidden;"><div id="highcharts-krukepu-383" dir="ltr" class="highcharts-container " style="position: relative; overflow: hidden; width: 1316px; height: 308px; text-align: left; line-height: normal; z-index: 0; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); user-select: none; font-family: Roboto;"><svg version="1.1" class="highcharts-root" style="font-family:Roboto;font-size:12px;" xmlns="http://www.w3.org/2000/svg" width="1316" height="308" viewBox="0 0 1316 308"><desc>Created with Highcharts 8.2.2</desc><defs><clipPath id="highcharts-krukepu-384-"><rect x="0" y="0" width="1242" height="246" fill="none"></rect></clipPath><clipPath id="highcharts-krukepu-402-"><rect x="64" y="10" width="1242" height="246" fill="none"></rect></clipPath></defs><rect fill="#ffffff" class="highcharts-background" x="0" y="0" width="1316" height="308" rx="0" ry="0"></rect><rect fill="transparent" class="highcharts-plot-background" x="64" y="10" width="1242" height="246"></rect><g class="highcharts-pane-group" data-z-index="0"></g><g class="highcharts-grid highcharts-xaxis-grid" data-z-index="1"><path fill="none" stroke-dasharray="0,0" data-z-index="1" class="highcharts-grid-line" d="M 63.5 10 L 63.5 256" opacity="1"></path><path fill="none" stroke-dasharray="0,0" data-z-index="1" class="highcharts-grid-line" d="M 684.5 10 L 684.5 256" opacity="1"></path><path fill="none" stroke-dasharray="0,0" data-z-index="1" class="highcharts-grid-line" d="M 1305.5 10 L 1305.5 256" opacity="1"></path></g><rect fill="none" class="highcharts-plot-border" data-z-index="1" x="64" y="10" width="1242" height="246"></rect><g class="highcharts-axis highcharts-xaxis" data-z-index="2"><path fill="none" class="highcharts-tick" stroke="#ccd6eb" stroke-width="1" d="M 63.5 256 L 63.5 261" opacity="1"></path><path fill="none" class="highcharts-tick" stroke="#ccd6eb" stroke-width="1" d="M 684.5 256 L 684.5 261" opacity="1"></path><path fill="none" class="highcharts-tick" stroke="#ccd6eb" stroke-width="1" d="M 1306.5 256 L 1306.5 261" opacity="1"></path><path fill="none" class="highcharts-axis-line" stroke="#ccd6eb" stroke-width="1" data-z-index="7" d="M 64 256.5 L 1306 256.5"></path></g><g class="highcharts-grid highcharts-yaxis-grid" data-z-index="2"><path fill="none" stroke="#e6e6e6" stroke-width="0.5" data-z-index="1" class="highcharts-grid-line" d="M 64 256.25 L 1306 256.25" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="0.5" data-z-index="1" class="highcharts-grid-line" d="M 64 221.25 L 1306 221.25" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="0.5" data-z-index="1" class="highcharts-grid-line" d="M 64 186.25 L 1306 186.25" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="0.5" data-z-index="1" class="highcharts-grid-line" d="M 64 151.25 L 1306 151.25" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="0.5" data-z-index="1" class="highcharts-grid-line" d="M 64 115.25 L 1306 115.25" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="0.5" data-z-index="1" class="highcharts-grid-line" d="M 64 80.25 L 1306 80.25" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="0.5" data-z-index="1" class="highcharts-grid-line" d="M 64 45.25 L 1306 45.25" opacity="1"></path><path fill="none" stroke="#e6e6e6" stroke-width="0.5" data-z-index="1" class="highcharts-grid-line" d="M 64 9.75 L 1306 9.75" opacity="1"></path></g><g class="highcharts-axis highcharts-yaxis" data-z-index="2"><path fill="none" class="highcharts-axis-line" data-z-index="7" d="M 64 10 L 64 256"></path></g><path fill="none" class="highcharts-crosshair highcharts-crosshair-thin undefined" data-z-index="2" stroke="#4D87F7" stroke-width="1" style="pointer-events:none;" stroke-dasharray="4,3" visibility="hidden" d="M 684.5 10 L 684.5 256"></path><g class="highcharts-series-group" data-z-index="3"><g class="highcharts-series highcharts-series-0 highcharts-line-series" data-z-index="0.1" opacity="1" transform="translate(64,10) scale(1 1)" clip-path="url(#highcharts-krukepu-384-)"><path fill="none" d="M 0 216.7250148033653 L 621 40.05102885886126 L 1242 150.67052969426828" class="highcharts-graph" data-z-index="1" stroke="#435993" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"></path><path fill="none" d="M 0 216.7250148033653 L 621 40.05102885886126 L 1242 150.67052969426828" visibility="visible" data-z-index="2" class="highcharts-tracker-line" stroke-linecap="round" stroke-linejoin="round" stroke="rgba(192,192,192,0.0001)" stroke-width="22"></path></g><g class="highcharts-markers highcharts-series-0 highcharts-line-series highcharts-tracker" data-z-index="0.1" opacity="1" transform="translate(64,10) scale(1 1)"><path fill="#435993" d="M 621 40.05102885886126 A 0 0 0 1 1 621 40.05102885886126 Z" class="highcharts-halo highcharts-color-undefined" data-z-index="-1" fill-opacity="0.25" visibility="hidden"></path><path fill="#435993" d="M 2.755455298081545e-16 221.2250148033653 A 4.5 4.5 0 1 1 0.004499999250002918 221.22501255336547 Z" opacity="1" class="highcharts-point"></path><path fill="#435993" d="M 621 44.55102885886126 A 4.5 4.5 0 1 1 621.00449999925 44.55102660886145 Z" opacity="1" class="highcharts-point" stroke-width="0.000009869571931497845"></path><path fill="#435993" d="M 1242 155.17052969426828 A 4.5 4.5 0 1 1 1242.00449999925 155.17052744426846 Z" opacity="1" class="highcharts-point"></path></g><g class="highcharts-series highcharts-series-1 highcharts-line-series" visibility="hidden" data-z-index="0.1" opacity="1" transform="translate(64,10) scale(1 1)" clip-path="url(#highcharts-krukepu-384-)"><path fill="none" d="M 0 357.3842009940567 L 621 369.1991468911149 L 1242 385.730745033825" class="highcharts-graph" data-z-index="1" stroke="#FF7A1A" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"></path><path fill="none" d="M 0 357.3842009940567 L 621 369.1991468911149 L 1242 385.730745033825" visibility="hidden" data-z-index="2" class="highcharts-tracker-line" stroke-linecap="round" stroke-linejoin="round" stroke="rgba(192,192,192,0.0001)" stroke-width="22"></path></g><g class="highcharts-markers highcharts-series-1 highcharts-line-series highcharts-tracker" visibility="hidden" data-z-index="0.1" opacity="1" transform="translate(64,10) scale(1 1)"></g><g class="highcharts-series highcharts-series-2 highcharts-line-series" visibility="hidden" data-z-index="0.1" opacity="1" transform="translate(64,10) scale(1 1)" clip-path="url(#highcharts-krukepu-384-)"><path fill="none" d="M 0 -5271.532170970069 L 621 -5879.743143866581 L 1242 -4849.31817543036" class="highcharts-graph" data-z-index="1" stroke="#1EC794" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"></path><path fill="none" d="M 0 -5271.532170970069 L 621 -5879.743143866581 L 1242 -4849.31817543036" visibility="hidden" data-z-index="2" class="highcharts-tracker-line" stroke-linecap="round" stroke-linejoin="round" stroke="rgba(192,192,192,0.0001)" stroke-width="22"></path></g><g class="highcharts-markers highcharts-series-2 highcharts-line-series highcharts-tracker" visibility="hidden" data-z-index="0.1" opacity="1" transform="translate(64,10) scale(1 1)"></g><g class="highcharts-series highcharts-series-3 highcharts-line-series" visibility="hidden" data-z-index="0.1" opacity="1" transform="translate(64,10) scale(1 1)" clip-path="url(#highcharts-krukepu-384-)"><path fill="none" d="M 0 260.6140162371847 L 621 299.9244913376208 L 1242 315.3084799095766" class="highcharts-graph" data-z-index="1" stroke="#FFB800" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"></path><path fill="none" d="M 0 260.6140162371847 L 621 299.9244913376208 L 1242 315.3084799095766" visibility="hidden" data-z-index="2" class="highcharts-tracker-line" stroke-linecap="round" stroke-linejoin="round" stroke="rgba(192,192,192,0.0001)" stroke-width="22"></path></g><g class="highcharts-markers highcharts-series-3 highcharts-line-series highcharts-tracker" visibility="hidden" data-z-index="0.1" opacity="1" transform="translate(64,10) scale(1 1)"></g><g class="highcharts-series highcharts-series-4 highcharts-line-series" visibility="hidden" data-z-index="0.1" opacity="1" transform="translate(64,10) scale(1 1)" clip-path="url(#highcharts-krukepu-384-)"><path fill="none" d="M 0 368.12897989712957 L 621 376.56323481970475 L 1242 381.60392116288637" class="highcharts-graph" data-z-index="1" stroke="#0FBFE5" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"></path><path fill="none" d="M 0 368.12897989712957 L 621 376.56323481970475 L 1242 381.60392116288637" visibility="hidden" data-z-index="2" class="highcharts-tracker-line" stroke-linecap="round" stroke-linejoin="round" stroke="rgba(192,192,192,0.0001)" stroke-width="22"></path></g><g class="highcharts-markers highcharts-series-4 highcharts-line-series highcharts-tracker" visibility="hidden" data-z-index="0.1" opacity="1" transform="translate(64,10) scale(1 1)"></g></g><text x="658" text-anchor="middle" class="highcharts-title" data-z-index="4" style="color:#333333;font-size:18px;display:none;fill:#333333;" y="24"><tspan>Chart title</tspan></text><text x="658" text-anchor="middle" class="highcharts-subtitle" data-z-index="4" style="color:#666666;fill:#666666;" y="24"></text><text x="10" text-anchor="start" class="highcharts-caption" data-z-index="4" style="color:#666666;fill:#666666;" y="289"></text><g class="highcharts-stack-labels" visibility="visible" data-z-index="6" opacity="1" transform="translate(64,10)"></g><g class="highcharts-axis-labels highcharts-xaxis-labels" data-z-index="7"><text x="64" style="color:#919191;cursor:default;font-size:11px;text-transform:capitalize;white-space:nowrap;fill:#919191;" text-anchor="middle" transform="translate(0,0)" y="275" opacity="1">Dec 21</text><text x="685" style="color:#919191;cursor:default;font-size:11px;text-transform:capitalize;white-space:nowrap;fill:#919191;" text-anchor="middle" transform="translate(0,0)" y="275" opacity="1">Jan 22</text><text x="1289.06689453125" style="color:#919191;cursor:default;font-size:11px;text-transform:capitalize;white-space:nowrap;fill:#919191;" text-anchor="middle" transform="translate(0,0)" y="275" opacity="1">Feb 22</text></g><g class="highcharts-axis-labels highcharts-yaxis-labels" data-z-index="7"><text x="49" style="color:#919191;cursor:default;font-size:11px;text-transform:uppercase;fill:#919191;" text-anchor="end" transform="translate(0,0)" y="261" opacity="1">100,000</text><text x="49" style="color:#919191;cursor:default;font-size:11px;text-transform:uppercase;fill:#919191;" text-anchor="end" transform="translate(0,0)" y="225" opacity="1">120,000</text><text x="49" style="color:#919191;cursor:default;font-size:11px;text-transform:uppercase;fill:#919191;" text-anchor="end" transform="translate(0,0)" y="190" opacity="1">140,000</text><text x="49" style="color:#919191;cursor:default;font-size:11px;text-transform:uppercase;fill:#919191;" text-anchor="end" transform="translate(0,0)" y="155" opacity="1">160,000</text><text x="49" style="color:#919191;cursor:default;font-size:11px;text-transform:uppercase;fill:#919191;" text-anchor="end" transform="translate(0,0)" y="120" opacity="1">180,000</text><text x="49" style="color:#919191;cursor:default;font-size:11px;text-transform:uppercase;fill:#919191;" text-anchor="end" transform="translate(0,0)" y="85" opacity="1">200,000</text><text x="49" style="color:#919191;cursor:default;font-size:11px;text-transform:uppercase;fill:#919191;" text-anchor="end" transform="translate(0,0)" y="50" opacity="1">220,000</text><text x="49" style="color:#919191;cursor:default;font-size:11px;text-transform:uppercase;fill:#919191;" text-anchor="end" transform="translate(0,0)" y="15" opacity="1">240,000</text></g><g class="highcharts-label highcharts-tooltip highcharts-color-undefined" style="white-space:nowrap;margin:0;pointer-events:none;" data-z-index="8" transform="translate(705,-9999)" opacity="0" visibility="hidden"></g><g class="highcharts-control-points" data-z-index="99" clip-path="url(#highcharts-krukepu-402-)"></g></svg><div class="highcharts-label highcharts-tooltip highcharts-color-undefined" style="position: absolute; left: 705px; top: -9999px; opacity: 0; pointer-events: none; visibility: hidden;"><span data-z-index="1" style="position: absolute; font-family: Roboto; font-size: 12px; white-space: nowrap; color: rgb(51, 51, 51); cursor: default; margin-left: 0px; margin-top: 0px; left: 8px; top: 8px;"><div class="TrafficOverTimeChartToolTip-liSWHG eRdecq"><strong>Visits - Jan 2022</strong><div color="#435993" class="TooltipDataPoint-fxUPYK fwECcq"><span>energinet.dk<!-- -->: </span><span style="color:#435993">217,207</span></div></div></span></div></div></div></div></div><div class="NoPrintContainer-cztHMp kQeTRB"><div class="BaseFlex-ctteho FlexRow-gJOUgV fTVpum"><div class="CtaWrapper-cZgvwI eIvsyG"><a href="#/website/audience-overview/energinet.dk/*/999/2021.12-2022.02/?webSource=Total&amp;selectedWidgetTab=Visits&amp;mtd=true" target="_self"><button class="sc-dTdPqK sc-fzsDOv fYyjTC Button" data-automation-button-disabled="false" data-automation-button-type="flat" data-automation-button-loading="false" style="width: auto; height: 37px;"><div class="sc-itybZL fkOfAi">See traffic over time</div></button></a></div></div><div class="WidgetFooterDivider-XMjOl cLhaeL"></div></div></div>


鼠标悬浮到红框内,才会浮现这个动态的标签。这个动态的标签,如果通过纯JavaScript 脚本展示出来?


这个问题是一定要解决的,解决完能节省目前版本爬虫 60% 的时间,大大提高效率。加油!

目录
相关文章
|
12月前
|
Shell Apache
77Linux - crontab定时器
77Linux - crontab定时器
42 0
|
5月前
|
监控 Linux 编译器
Linux C++ 定时器任务接口深度解析: 从理论到实践
Linux C++ 定时器任务接口深度解析: 从理论到实践
217 2
|
Linux
手把手教你写Linux设备驱动---定时器(一)(基于友善之臂4412开发板)
手把手教你写Linux设备驱动---定时器(一)(基于友善之臂4412开发板)
128 0
Linux驱动中断与时间篇——高精度定时器hrtimer
Linux驱动中断与时间篇——高精度定时器hrtimer
Linux驱动中断与时间篇——低分辨率定时器
Linux驱动中断与时间篇——低分辨率定时器
|
存储 Linux 调度
Linux驱动开发——定时器
Linux驱动开发——定时器
171 0
Linux驱动开发——定时器
|
Linux 芯片
Linux系统中裸机定时器的基本原理
大家好,今天的话主要和大家聊一聊,如何使用定时器,完成精准的定时功能实现​。
162 0
Linux系统中裸机定时器的基本原理
Linux定时器
内核中使用jiffies进行时间计数,计数的频率由HZ来决定
|
编解码 安全 Linux
Linux内核开发基础-低精度timer_list和高精度hrtimer定时器
上篇文章讲解了如何正确的使用内核延时函数,在进行驱动开发时,可能会经常用到精确地延时操作。除此之外,如果要实现一个定时任务,那就需要用到定时器。作为一项基础功能需求,Linux内核提供了定时器相关的实现。下面就具体看一下,Linux内核所提供的定时器实现。
1176 0