国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

迅為i.MX6ULL終結者進程基礎-進程創建

發布時間:2021-3-3 14:05    發布者:落風
進程指正在運行的程序,資源分配的最小單位,可以通過“ps ”或“top”等命令查看正在運行的進程,線程是系統的最小調度單位,一個進程可以擁有多個線程,同一進程里的線程可以共享此進程的同一資源。本章代碼在process/目錄下。
進程類型:
1.交互進程:由shell啟動,用戶和計算機進行問答的進程。
2.批處理進程:不與特定終端相關聯,將任務提交到等待隊列按順序執行的進程。
3.守護進程:后臺運行的特殊進程,用戶不能和它進行會話。
進程的三種狀態:

1.運行態,正在運行或在運行隊列中等待。
2.可中斷等待態,休眠, 在等待申請的資源有效或等待中斷,信號喚醒。
3.不可中斷等待態,休眠等待資源有效,不能被中斷或信號喚醒。
4.終止態,進程被停止或者被跟蹤狀態,收到SIGCONT信號時,又會恢復運行狀態。
5.僵尸態,進程因某種原因而中止運行,但進程描述符仍存在,不可被Kill。
如果想銷毀某一進程,可在終端輸入“ps -elf”查看進程號,如圖 66.2:

如果要銷毀qtcreator進程,使用“kill -9 3001”可以銷毀它,

1進程創建
所有的進程都是由其他進程創建(除了pid為0號的idle進程),pid號為1的init進程是系統啟動后運行的第一個進程,是所有進程的父進程,init進程會初始化一部分系統服務,創建其他進程。
創建新進程的那個進程稱為父進程,新進程稱為子進程,父進程和子進程擁有相同的代碼段數據段,有各自獨立的地址空間。采用寫時拷貝技術,即創建的新進程不會立即把父進程的資源空間復制過來,只有在修改時才會復制資源,另外父進程掛起的信號和文件鎖不會被子進程繼承。
子進程結束后,它的父進程要回收它的資源,否則就會成為僵尸進程 。
如果父進程先結束,子進程會被init進程收養,稱為孤兒進程。
終端輸入“ps -el”查看進程狀態,PID為進程號,PPID為此進程的父進程號,如圖 1.1,1505號進程的父進程為1366進程。


getpid():獲取進程PID,

返回值為PID號。
fork():系統調用,創建一個進程,
#include
pid_t fork(void);
調用成功父進程返回子進程號,子進程返回0,失敗返回-1。
如以下代碼:
for.c:

打印結果:

程序執行過程中第一次調用fork()進程2531創建子進程2532;第二次fork(),進程2531創建子進程2533,進程2532創建2534,創建過程如圖 1.3:



本文地址:http://www.4huy16.com/thread-760679-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 常見深度學習模型介紹及應用培訓教程
  • “芯”光璀璨,鵬城共賞——2025 Microchip中國技術精英年會深圳站回顧
  • Microchip第22屆中國技術精英年會——采訪篇
  • Microchip第22屆中國技術精英年會上海首站開幕
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表