在Linux中,可以使用fork()系统调用来创建新的进程。
fork()会创建一个新的进程,该进程与父进程几乎完全相同。在fork()之后,父进程和子进程会从fork()返回,但是对于两个进程而言,返回的结果是不同的。父进程会得到子进程的Pid,而子进程得到0。
下面是一个简单的示例代码:
```c
#include
#include
int main() {
int pid = fork();
if (pid == 0) {
// 子进程
printf("I am the child process, pid=%d\n", getpid());
} else if (pid > 0) {
// 父进程
printf("I am the parent process, pid=%d, child_pid=%d\n", getpid(), pid);
} else {
// 创建进程失败
printf("Failed to create child process\n");
}
return 0;
}
```
在上面的代码中,首先使用fork()创建了一个新的进程。然后通过判断返回值,判断当前代码是在父进程中还是子进程中,并输出相应的信息。
编译运行上述代码,可以看到父进程和子进程的输出结果。
除了fork()外,还有一些其他的系统调用可以用来创建进程,比如vfork()、clone()等。这些系统调用的具体用法请参考Linux相关文档。