1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      中斷l(xiāng)inux命令執(zhí)行 linux中斷正在執(zhí)行命令的方法

      Linux內(nèi)核中斷之中斷調(diào)用流程

      本文基于 RockPI 4A 單板Linux4.4內(nèi)核介紹中斷調(diào)用流程。

      目前創(chuàng)新互聯(lián)建站已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、太原網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

      ARMv8包括兩種運(yùn)行狀態(tài):AArch64和AArch32。

      AArch64中不再使用AArch32中的7種特權(quán)模式,而是提出了Exception Levels的概念,包括:

      1)EL0:用于用戶態(tài)程序,權(quán)限最低

      2)EL1:給內(nèi)核使用,權(quán)限稍高

      3)EL2:虛擬化相關(guān),權(quán)限更高

      4)EL3:安全相關(guān),權(quán)限最高

      Linux內(nèi)核中一般只使用EL0和EL1。

      AArch64異常向量表中的異常包括:

      1)Synchronous exception(同步異常)

      2)SError

      3)IRQ

      4)FIQ

      注:SError、IRQ和FIQ屬于異步異常。

      在Linux內(nèi)核中,在 arch/arm64/kernel/entry.S 文件中定義了異常向量表,內(nèi)容如下:

      選取 el1_irq() 函數(shù)介紹Linux內(nèi)核中斷的調(diào)用流程。

      文件: arch/arm64/kernel/entry.S ,調(diào)用流程如下:

      1、handle_irq()初始化

      在 DTS 解析階段完成 handle_irq() 函數(shù)的初始化,流程如下:

      gic_irq_domain_map() 函數(shù)中完成了 handle_irq() 函數(shù)的賦值,具體執(zhí)行如下:

      2、handle_irq()實(shí)現(xiàn)

      以共享外設(shè)中斷 SPI 的中斷處理函數(shù) handle_fasteoi_irq() 為例,繼續(xù)跟蹤中斷的執(zhí)行過(guò)程。

      handle_irq_event_percpu() 函數(shù)會(huì)調(diào)用已經(jīng)注冊(cè)的中斷處理函數(shù),同時(shí)喚醒 irq_thread 線程。

      3、中斷處理線程

      在使用 request_threaded_irq() 函數(shù)申請(qǐng)中斷時(shí),會(huì)創(chuàng)建一個(gè) irq_thread 線程,調(diào)用流程如下:

      irq_thread 線程平時(shí)在睡眠狀態(tài),等待 handle_irq_event_percpu() 函數(shù)喚醒,進(jìn)一步執(zhí)行已注冊(cè)的中斷處理線程函數(shù)。

      使用 DRM 框架中 HDMI 中斷驗(yàn)證中斷調(diào)用流程。

      文件: drivers\gpu\drm\bridge\synopsys\dw-hdmi.c

      在中斷處理函數(shù) dw_hdmi_hardirq() 和中斷處理線程函數(shù) dw_hdmi_irq 中增加 dump_stack() 調(diào)用( 注:僅限于調(diào)試驗(yàn)證 )。

      插入 HDMI 線,系統(tǒng)啟動(dòng)后,顯示中斷調(diào)用流程的日志如下:

      在linux中如何終止指令的運(yùn)行

      具體操作步驟如下:

      1、首先打開(kāi)linux終端,運(yùn)行一段Python程序:

      2、然后在程序運(yùn)行中,需要終止程序運(yùn)行時(shí),按下快捷鍵crtl+c就可以終止指令程序,此時(shí)運(yùn)行的這段python程序就被終止了。所有的指令都可以用這個(gè)快捷鍵終止運(yùn)行:

      3、最后再次運(yùn)行一下剛才的程序,這里直接使用Ctrl+ Z快捷鍵終止運(yùn)行程序是可以達(dá)到同樣的效果的:

      4-5 Linux 中斷進(jìn)程 --- kill (kill -2 實(shí)驗(yàn))

      1、信號(hào):傳遞給 Liunx 的事件發(fā)生通知機(jī)制。

      2、kill -l:顯示所有信號(hào)。一共有62個(gè)信號(hào)(沒(méi)有32、33)。

      3、常用的信號(hào)有:

      kill -2 PID —— 正常中斷進(jìn)程(Ctrl + C 一樣)。程序在結(jié)束之前,能夠保存相關(guān)數(shù)據(jù),然后再退出。

      kill -9 PID —— 強(qiáng)制殺死一個(gè)進(jìn)程。

      kill -15 PID —— 正常方式終止一個(gè)程序。中斷進(jìn)程時(shí)應(yīng)首先用 -15,以便于其能夠預(yù)先清理臨時(shí)文件和釋放資源。-9?作為最后手段,應(yīng)對(duì)那些失控的進(jìn)程。

      --------------------------------------------------------------------------------

      1)、kill -2 中斷后臺(tái)運(yùn)行的進(jìn)程。

      紅色下劃線:sleep 10000 —— 后臺(tái)運(yùn)行延時(shí) 10000 秒的命令,進(jìn)程 ID 為1516。

      ps -j —— 以作業(yè)格式列出進(jìn)程信息,可以看到 1516 sleep 命令的進(jìn)程。

      (PID:進(jìn)程 ID、PGID:線程組 ID、SID:會(huì)話 ID、TTY:進(jìn)程運(yùn)行的終端,標(biāo)識(shí)那個(gè)終端控制。(pts遠(yuǎn)程終端、tty系統(tǒng)終端)、TIME:進(jìn)程運(yùn)行的時(shí)間 和 CMD:命令的名稱和參數(shù))。

      jobs -l —— 列出后臺(tái)運(yùn)行的命令,可以看到 1516 sleep 命令正在后臺(tái)運(yùn)行。

      黃色下劃線:kill -2 1516 —— 中斷1516 進(jìn)程。執(zhí)行成功后,按 Enter 回車系統(tǒng)會(huì)給出提示Interrupt 提示(中斷進(jìn)程)。

      藍(lán)色方框:ps -j 已查詢不到?1516 sleep 的進(jìn)程。jobs -l 也沒(méi)有后臺(tái)運(yùn)行的命令。

      2)、kill -2 配合 fg 查看中斷掛起的進(jìn)程。

      紅色下劃線:前臺(tái)執(zhí)行 sleep 10000 (延時(shí)10000秒)后 ctrl + z 掛起。

      黃色下劃線:ps -j 查看進(jìn)程,可以看到 1344 sleep 進(jìn)程。jobs -l 查看后臺(tái)進(jìn)程 1344 的狀態(tài)是stopped 暫停狀態(tài)。

      藍(lán)色下劃線:kill -2 1344 中斷 1344 進(jìn)程。

      綠色下劃線:ps -j 查看進(jìn)程,仍有 1344 sleep 進(jìn)程。jobs -l 查看后臺(tái)進(jìn)程 1344 的狀態(tài)是stopped 暫停狀態(tài)。

      暫時(shí)這樣看,好像 kill -2 并沒(méi)有起到中斷進(jìn)程的作用。

      然而,用 fg 把后臺(tái)的命令調(diào)至前臺(tái)運(yùn)行時(shí)可以發(fā)現(xiàn) 1344 sleep 已經(jīng)被中斷。

      紅色下劃線:fg 把已經(jīng)執(zhí)行了 kill -2, 狀態(tài)為 stopped 的1344 sleep命令調(diào)至前臺(tái)執(zhí)行。系統(tǒng)也反饋已經(jīng)調(diào)至前臺(tái)執(zhí)行。(此時(shí),實(shí)際上已經(jīng)執(zhí)行了 kill -2 中斷了進(jìn)程)

      黃色方框:ps -j 已經(jīng)沒(méi)有了 1344 sleep 的進(jìn)程。

      藍(lán)色方框:jobs -l 后臺(tái)也沒(méi)有指令。

      3)、kill -2 配合 bg 查看中斷掛起的進(jìn)程。

      通過(guò)上面的思路,kill -2 配合 bg 實(shí)驗(yàn)看看效果。同樣的首先掛起一個(gè)命令,狀態(tài)為 stopped 暫停。然后用 bg 命令恢復(fù)執(zhí)行。

      前面的步驟都是一樣,掛起一個(gè)命令。通過(guò) ps 和 jobs 查看進(jìn)程和后臺(tái)確認(rèn)有 1379 的進(jìn)程,狀態(tài)為 stopped 暫停。然后執(zhí)行 kill-2 中斷進(jìn)程,再次通過(guò)ps 和 jobs 查看進(jìn)程和后臺(tái)命令。確認(rèn)狀態(tài)為 stopped? 1379 的進(jìn)程仍然存在。

      此時(shí),用 bg 恢復(fù)運(yùn)行掛起的命令,系統(tǒng)提示 sleep 命令已恢復(fù)在后臺(tái)運(yùn)行。然而通過(guò) ps -j 查看進(jìn)程會(huì)發(fā)現(xiàn) sleep 已經(jīng)被中斷。jobs -l 查看后臺(tái)也沒(méi)有了運(yùn)行的 sleep 命令了。

      從實(shí)驗(yàn)上看:

      1、后臺(tái)命令運(yùn)行時(shí)(Running),執(zhí)行 kill -2 可以中斷進(jìn)程。

      2、掛起命令,處于暫停狀態(tài)時(shí)(Stopped),執(zhí)行 kill -2 后通過(guò) ps 還可以查詢到進(jìn)程, jobs還可以查詢到后臺(tái)命令,狀態(tài)仍然是 Stopped 暫停狀態(tài)。實(shí)際上,用 fg 把暫停的后臺(tái)進(jìn)程調(diào)至前臺(tái)運(yùn)行時(shí),系統(tǒng)反饋 sleep 命令調(diào)至前臺(tái)運(yùn)行。而再用 ps 查詢不到進(jìn)程,已經(jīng)中斷了進(jìn)程。用 jobs 已經(jīng)查詢不到后臺(tái)命令。

      3、掛起命令,處于暫停狀態(tài)時(shí)(Stopped),執(zhí)行 kill -2 后通過(guò) ps 還可以查詢到進(jìn)程, jobs還可以查詢到后臺(tái)命令,狀態(tài)仍然是?Stopped 暫停狀態(tài)。用 bg 把暫停的后臺(tái)命令恢復(fù)運(yùn)行時(shí),系統(tǒng)反饋 sleep 命令在后臺(tái)運(yùn)行。再用 ps 查詢進(jìn)程已經(jīng)中斷,用 jobs 已經(jīng)查詢不到后臺(tái)命令。

      Linux終止前臺(tái)進(jìn)程的命令

      1、首先,連接相應(yīng)linux主機(jī),進(jìn)入到linux命令行狀態(tài)下,等待輸入shell指令。

      2、其次,以終止進(jìn)程號(hào)1984的nginx子進(jìn)程為例,在linux命令行中輸入:kill -9 1984。

      3、最后,按下回車鍵執(zhí)行shell指令,此時(shí)會(huì)看到進(jìn)程號(hào)1984的nginx子進(jìn)程被成功終止了。


      當(dāng)前名稱:中斷l(xiāng)inux命令執(zhí)行 linux中斷正在執(zhí)行命令的方法
      文章路徑:http://ef60e0e.cn/article/doidcdg.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        桂东县| 城口县| 南和县| 马鞍山市| 合江县| 察雅县| 沙洋县| 叙永县| 甘谷县| 东平县| 棋牌| 堆龙德庆县| 罗江县| 岳池县| 蓬莱市| 巴彦县| 陇西县| 西贡区| 平乡县| 大余县| 乡宁县| 连山| 郸城县| 姜堰市| 林周县| 原平市| 南安市| 湟中县| 马公市| 弋阳县| 松滋市| 绵阳市| 大埔县| 新丰县| 修水县| 洛扎县| 凤台县| 普兰店市| 东宁县| 枣阳市| 涟源市|