如何在Linux中建立程序?
載入到記憶體並執行的程式稱為程序。簡單來說,程序就是正在執行的程式。
讓我們來看看如何在Linux中建立程序。
可以使用fork()系統呼叫建立新的程序。新程序包含原始程序地址空間的一個副本。fork()從現有程序建立新程序。現有程序稱為父程序,新建立的程序稱為子程序。該函式由父程序呼叫。父程序和子程序都從fork()之後的指令繼續執行,fork()的返回值對於新程序為零,而子程序的程序識別符號則返回給父程序。
Fork()系統呼叫位於<sys/types.h>庫中。
系統呼叫getpid()返回當前程序的程序ID,getppid()返回當前程序的父程序的程序ID。
示例
讓我們來看一個使用fork()系統呼叫建立子程序的例子。
#include <unistd.h>
#include <sys/types.h>
#include <stdio.h>
int main( ){
pid_t child_pid;
child_pid = fork (); // Create a new child process;
if (child_pid < 0) {
printf("fork failed");
return 1;
} else if (child_pid == 0) {
printf ("child process successfully created!
");
printf ("child_PID = %d,parent_PID = %d
",
getpid(), getppid( ) );
} else {
wait(NULL);
printf ("parent process successfully created!
");
printf ("child_PID = %d, parent_PID = %d", getpid( ), getppid( ) );
}
return 0;
}輸出
child process successfully created! child_PID = 31497, parent_PID = 31496 parent process successfully created! child_PID = 31496, parent_PID = 31491
這裡,子程序中的getppid()返回的值與父程序中的getpid()相同。
pid_t是一種表示程序ID的資料型別。它是為程序標識而建立的。每個程序都有一個唯一的ID號。接下來,我們呼叫fork()系統呼叫,它將從呼叫程序建立一個新程序。父程序是呼叫函式,新程序是子程序。如果成功建立程序,則系統呼叫fork()返回零或正值。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP