📅  最后修改于: 2023-12-03 15:02:43.383000             🧑  作者: Mango
在 Linux 中,fork() 系统调用用于创建一个新的进程,新进程是原进程的副本,称为子进程,子进程与父进程相同,但有不同的进程 ID。 fork() 系统调用返回两次,一次在父进程中返回子进程的 PID,一次在子进程中返回 0。
fork() 系统调用的语法如下:
#include <unistd.h>
pid_t fork(void);
在 Shell-Bash 中,可以使用以下方法调用 fork() 系统调用:
#!/bin/bash
echo "Parent process"
pid=$$
echo "Parent PID: $pid"
child_process() {
echo "Child process"
child_pid=$$
echo "Child PID: $child_pid"
exit
}
child_process &
wait
echo "Parent done"
在上面的示例中,使用了 & 符号将子进程放在后台执行。使用 wait 命令等待子进程执行完成。子进程通过调用 exit 命令来结束自己。
fork() 系统调用是 Linux 中创建新进程的重要方法之一,在 Shell-Bash 中也有广泛的应用。当你需要在 Shell-Bash 中创建新的进程时,你可以使用 fork() 系统调用来实现。