百度
360搜索
搜狗搜索

linux进程由什么函数创建详细介绍

在 Linux 系统里,创建进程通常会用到fork()vfork()函数,之后往往配合exec()系列函数来执行新的程序。以下为你详细介绍:

1.
fork()函数

fork()是用来创建新进程的基础函数。调用fork()之后,会生成一个新的子进程,这个子进程是父进程的副本。fork()会返回两次:在父进程里返回子进程的进程 ID(PID);在子进程里返回 0;若创建失败则返回 -1。

下面是一个简单的示例代码:
python

main

pid_t pid fork

pid

进程创建失败

perror

pid

子进程

printf getpid

父进程

printf pid

2.
vfork()函数

vfork()也是用于创建新进程的函数,它和fork()的主要区别在于:vfork()创建的子进程会和父进程共享地址空间,并且在子进程调用exec()系列函数或者_exit()之前,父进程会被阻塞。

下面是一个简单的示例代码:
python

main

pid_t pid vfork

pid

进程创建失败

perror

pid

子进程

printf getpid

_exit

父进程

printf pid

3.
exec()系列函数

exec()系列函数通常和fork()vfork()配合使用,其作用是在新进程中执行新的程序。exec()系列函数有多个变体,像execl()execv()execle()execve()execlp()execvp()等。

下面是一个结合fork()execlp()的示例代码:
python

main

pid_t pid fork

pid

进程创建失败

perror

pid

子进程

printf

execlp NULL

perror

_exit

父进程

printf

waitNULL

printf

这些函数在 Linux 系统编程里十分常用,能够帮助你创建和管理进程。

阅读更多 >>>  如何确保进程杀死linux

文章数据信息:

本文主要探讨:"linux进程由什么函数创建", 浏览人数已经达到30次, 首屏加载时间:0.546 秒。