溫馨提示×

c++創建進程怎么使用

c++
小億
138
2024-04-10 10:05:38
欄目: 編程語言

在C++中創建進程通常使用fork()函數來創建一個子進程,然后可以使用exec()系列函數來執行另一個程序。以下是一個簡單的示例:

#include <iostream>
#include <unistd.h>

int main() {
    pid_t pid = fork();

    if (pid < 0) {
        std::cerr << "Error creating child process." << std::endl;
        return 1;
    } else if (pid == 0) {
        // Child process
        execl("/bin/ls", "ls", "-l", NULL);
    } else {
        // Parent process
        wait(NULL);
        std::cout << "Child process completed." << std::endl;
    }

    return 0;
}

在這個示例中,fork()函數將創建一個子進程,并返回子進程的PID。如果fork()返回值小于0,則表示創建進程失敗。如果返回值為0,則表示當前進程是子進程,可以使用execl()函數來執行/bin/ls命令。如果返回值大于0,則表示當前進程是父進程,它會等待子進程執行完畢后輸出一條消息。

需要注意的是,fork()函數在父進程和子進程中返回的值是不同的,因此通過判斷返回值來區分父進程和子進程。同時,在子進程中使用execl()函數來執行另一個程序時,需要指定要執行的程序路徑和參數列表。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女