在GEM5模擬器運行時,對Kill命令的使用

來源:互聯網
上載者:User

標籤:

在Linux下開發執行GEM5程式時,需要先啟動GEM5,然後使用telnet對GEM5進行串連,才能看到串口資訊。因為操作步驟多,所以寫了指令碼用來運行GEM5和Telnet程式,並且對兩個程式進行監聽,任意一個退出後,則將另外一個也退出。

 

 

原本,兩個進程的終止命令都使用了kill -9 來進行退出。但是在使用過程中發現,GEM5運行結束後,有時會產生stats.txt檔案,有時不會。經過分析發現,只有在先退出GEM5時,才會有stats.txt檔案產生。

 

分析現象,得出結論:GEM5需要使用ctrl+c進行退出,使用kill -9進行退出會影響到stats.txt log的產生。經過查詢,ctrl + c 發送的signal編號為2,全部的kill命令signal如下所示:

[email protected] ~$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE 9) SIGKILL10) SIGBUS11) SIGSEGV12) SIGSYS13) SIGPIPE14) SIGALRM15) SIGTERM16) SIGURG17) SIGSTOP18) SIGTSTP19) SIGCONT20) SIGCHLD21) SIGTTIN22) SIGTTOU23) SIGIO24) SIGXCPU25) SIGXFSZ26) SIGVTALRM27) SIGPROF28) SIGWINCH29) SIGINFO30) SIGUSR131) SIGUSR2

 

所以修改指令碼,判斷如果telnet已經退出,則使用 kill -s SIGINT ${pid} 對GEM5進行退出,則可以正常擷取到stats.txt檔案。

在GEM5模擬器運行時,對Kill命令的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.