📅  最后修改于: 2023-12-03 15:23:06.944000             🧑  作者: Mango
在 C 语言中,我们可以使用系统调用函数来创建进程。本文介绍了如何在 Linux 环境下用 C 语言编写程序创建进程,并介绍了三种不同的创建进程的方法。
fork 函数是创建进程最常用的方法之一。它在 Linux 系统中被广泛使用。
代码示例:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
int pid = fork();
if (pid < 0)
{
printf("Fork error.");
return 1;
}
else if (pid == 0)
{
printf("Child process.\n");
//child process code here
}
else
{
printf("Parent process.\n");
//parent process code here
}
return 0;
}
在上面的代码中,我们使用 fork 函数来创建进程,并在父子进程中进行了不同的操作。
exec 函数是另一种创建进程的方法。它可以用于在当前进程中执行新的进程。同样,它也是在 Linux 系统中被广泛使用的一个函数。
代码示例:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
char *args[] = {"./program", NULL};
execvp(args[0], args);
printf("Execution failed!\n");
return 0;
}
在上面的代码中,我们使用 execvp 函数来创建进程,并在当前进程中执行新的程序。
system 函数是一个能够在当前进程中执行一个新命令的函数。它是用于创建进程的第三种方法。
代码示例:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int return_value = system("ls -l");
if (return_value != 0)
{
printf("Execution failed!\n");
}
return 0;
}
在上面的代码中,我们使用 system 函数来创建进程,并在当前进程中执行一个新命令。
本文介绍了在 C 语言中使用系统调用函数创建进程的三种方法。在实际应用中,我们可以根据需求选择适当的方法。