您好,登錄后才能下訂單哦!
這篇文章主要介紹了android進程創建的方法是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇android進程創建的方法是什么文章都會有所收獲,下面我們一起來看看吧。
進程指正在運行的程序,資源分配的最小單位,可以通過“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:
關于“android進程創建的方法是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“android進程創建的方法是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。