自己複習用,已經比較熟的就不多寫了。
1、程序相關的函式
(1)getpid
(2)getppid
(3)程序建立:fork
注意:子程序fork之後獲得了父程序的資料空間、堆疊的複製品。
(4)sleep
(5)exec函式族
這個比較複雜,有:execl、execv、execle、execve、execlp、execvp六個函式。
l的意思是函式接收以逗號分隔的引數列表,最後以null為結束標誌,例如:execl("/bin/ls","ls","-l",null);
v的意思是函式接收以null結尾的字串陣列的指標,例如我們先準備好指標:char* arg=,就可以用execv("/bin/ls",arg)來呼叫執行ls -l命令了。
p的意思是函式接收以null結尾的字串陣列指標,函式可以path變數去查詢子程式檔案(也就是說我們不用自己去指定路徑了),例如execlp("ls","ls","-l",null);
e的意思是說我們可以改變子程序的環境,如果沒有e,預設使用當前的環境。
(6)_exit
終止程序,緩衝區將不被儲存。
(7)exit
終止程序,緩衝區被儲存。
(8)wait
傳入乙個整型指標來獲取子程序結束的狀態,一般要配合其他巨集使用。執行結束後返回子程序的id號。
(9)waitpid
waitpid(pid_tpid, int* status, int options),第乙個引數是子程序id,第二個是子程序狀態,
2、執行緒相關的函式
(1)pthread_create
這個函式比較複雜:int pthread_create(pthread_t * thread, const pthread_attr_t * attr,void * (* start_routine)(void*), void* arg)。
示例**:
#include#include#include#include#includepthread_t ntid;
void printids(const char* s)
void *thread_fun(void* arg)
int main(void)
printids("我是父程序:");
sleep(2);
return 0;
}
(2)pthread_exit
傳入乙個無型別指標終止執行緒。
(3)pthread_join
類似waitpid,傳入要等待的執行緒的執行緒號,第二個引數用來接收執行緒返回值,通常可設為null,這個函式會把當前執行緒掛起,等待指定的執行緒結束。
linux中的執行緒函式
函式pthread create 作用 建立執行緒 函式原型 int pthread create pthread t tidp,const pthread attr t attr,void start rtn void void arg 引數 tidp 執行緒id attr 執行緒屬性 通常為空 ...
linux程序執行緒 alarm鬧鐘函式
1 alarm 返回值 距離上一次鬧鐘出發剩餘秒數第一次設定返回0,第二次設定了返回距離上乙個鬧鐘的剩餘的秒數。1 引用標頭檔案 include 2 函式標準式 unsigned int alarm unsigned int seconds 3 功能與作用 alarm 函式的主要功能是設定訊號傳送鬧...
linux中監視某個程序的執行緒
在linux下進行業務開發的時候,尤其是在應用第三方包的時候,首先要分析程序中的執行緒數目,檢視程序的執行緒數對於開發或者是運維都是乙個必備的技能。程序的id 也就是 pid,由於linux中線程和程序都有各自的程序描述符,本質上程序和執行緒都是 clone 產生的,對於執行緒來說只要不檢視執行緒所...