溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

android進(jìn)程創(chuàng)建的方法是什么

發(fā)布時(shí)間:2022-01-12 15:36:08 來源:億速云 閱讀:114 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹了android進(jìn)程創(chuàng)建的方法是什么的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇android進(jìn)程創(chuàng)建的方法是什么文章都會(huì)有所收獲,下面我們一起來看看吧。

進(jìn)程指正在運(yùn)行的程序,資源分配的最小單位,可以通過“ps ”或“top”等命令查看正在運(yùn)行的進(jìn)程,線程是系統(tǒng)的最小調(diào)度單位,一個(gè)進(jìn)程可以擁有多個(gè)線程,同一進(jìn)程里的線程可以共享此進(jìn)程的同一資源。本章代碼在process/目錄下。
進(jìn)程類型:
1.交互進(jìn)程:由shell啟動(dòng),用戶和計(jì)算機(jī)進(jìn)行問答的進(jìn)程。
2.批處理進(jìn)程:不與特定終端相關(guān)聯(lián),將任務(wù)提交到等待隊(duì)列按順序執(zhí)行的進(jìn)程。
3.守護(hù)進(jìn)程:后臺(tái)運(yùn)行的特殊進(jìn)程,用戶不能和它進(jìn)行會(huì)話。
進(jìn)程的三種狀態(tài):
android進(jìn)程創(chuàng)建的方法是什么

1.運(yùn)行態(tài),正在運(yùn)行或在運(yùn)行隊(duì)列中等待。
2.可中斷等待態(tài),休眠, 在等待申請(qǐng)的資源有效或等待中斷,信號(hào)喚醒。
3.不可中斷等待態(tài),休眠等待資源有效,不能被中斷或信號(hào)喚醒。
4.終止態(tài),進(jìn)程被停止或者被跟蹤狀態(tài),收到SIGCONT信號(hào)時(shí),又會(huì)恢復(fù)運(yùn)行狀態(tài)。
5.僵尸態(tài),進(jìn)程因某種原因而中止運(yùn)行,但進(jìn)程描述符仍存在,不可被Kill。
如果想銷毀某一進(jìn)程,可在終端輸入“ps -elf”查看進(jìn)程號(hào),如圖 66.2:
android進(jìn)程創(chuàng)建的方法是什么
如果要銷毀qtcreator進(jìn)程,使用“kill -9 3001”可以銷毀它,
android進(jìn)程創(chuàng)建的方法是什么
1進(jìn)程創(chuàng)建
所有的進(jìn)程都是由其他進(jìn)程創(chuàng)建(除了pid為0號(hào)的idle進(jìn)程),pid號(hào)為1的init進(jìn)程是系統(tǒng)啟動(dòng)后運(yùn)行的第一個(gè)進(jìn)程,是所有進(jìn)程的父進(jìn)程,init進(jìn)程會(huì)初始化一部分系統(tǒng)服務(wù),創(chuàng)建其他進(jìn)程。
創(chuàng)建新進(jìn)程的那個(gè)進(jìn)程稱為父進(jìn)程,新進(jìn)程稱為子進(jìn)程,父進(jìn)程和子進(jìn)程擁有相同的代碼段數(shù)據(jù)段,有各自獨(dú)立的地址空間。采用寫時(shí)拷貝技術(shù),即創(chuàng)建的新進(jìn)程不會(huì)立即把父進(jìn)程的資源空間復(fù)制過來,只有在修改時(shí)才會(huì)復(fù)制資源,另外父進(jìn)程掛起的信號(hào)和文件鎖不會(huì)被子進(jìn)程繼承。
子進(jìn)程結(jié)束后,它的父進(jìn)程要回收它的資源,否則就會(huì)成為僵尸進(jìn)程 。
如果父進(jìn)程先結(jié)束,子進(jìn)程會(huì)被init進(jìn)程收養(yǎng),稱為孤兒進(jìn)程。
終端輸入“ps -el”查看進(jìn)程狀態(tài),PID為進(jìn)程號(hào),PPID為此進(jìn)程的父進(jìn)程號(hào),如圖 1.1,1505號(hào)進(jìn)程的父進(jìn)程為1366進(jìn)程。
android進(jìn)程創(chuàng)建的方法是什么
android進(jìn)程創(chuàng)建的方法是什么
getpid():獲取進(jìn)程PID,
android進(jìn)程創(chuàng)建的方法是什么
返回值為PID號(hào)。
fork():系統(tǒng)調(diào)用,創(chuàng)建一個(gè)進(jìn)程,
#include
pid_t fork(void);
調(diào)用成功父進(jìn)程返回子進(jìn)程號(hào),子進(jìn)程返回0,失敗返回-1。
如以下代碼:
for.c:
android進(jìn)程創(chuàng)建的方法是什么
打印結(jié)果:
android進(jìn)程創(chuàng)建的方法是什么
程序執(zhí)行過程中第一次調(diào)用fork()進(jìn)程2531創(chuàng)建子進(jìn)程2532;第二次fork(),進(jìn)程2531創(chuàng)建子進(jìn)程2533,進(jìn)程2532創(chuàng)建2534,創(chuàng)建過程如圖 1.3:
android進(jìn)程創(chuàng)建的方法是什么

關(guān)于“android進(jìn)程創(chuàng)建的方法是什么”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“android進(jìn)程創(chuàng)建的方法是什么”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI