Linux进程基础

主要概念:

父进程与子进程

​ 创建新进程的那个进程称为父进程,新进程称为子进程。使用 fork() 函数创建子进程。

实验目的:

​ 创建子进程,分别在父进程和子进程中打印各自的 PID。

相关函数:

#include <sys/types.h>
#include <unistd.h>
pid_t fork(void)		//创建进程
pid_t getpid(void)		//获取进程ID
pid_t getppid(void)		//获取父进程ID

代码:

//fork.c
#include <stdio.h>
#include <unistd.h>

int main(void)
{
	pid_t pid;
	
	pid = fork();
	if(pid < 0)
	{
		printf("fork is error \n");
		return -1;
	}
	
	if(pid > 0)
	{
		printf("This is parent, parent pid is %d\n", getpid());
	}
	if(pid == 0)
	{
		printf("This is child, child pid is %d, parent pid is %d\n", getpid(), getppid()); 
	}
	
	return 0;
}

编译运行:

sixer@ubuntu:~/imx_usr/sys_app/01_process$ gcc -o fork fork.c

sixer@ubuntu:~/imx_usr/sys_app/01_process$ ./fork

实验现象:

sixer@ubuntu:~/imx_usr/sys_app/01_process$ ./fork This is parent, parent pid is 2039 This is child, child pid is 2040, parent pid is 2039

总结:

​ 可见父进程PID为2039,父进程创建了PID为2040的子进程。

Logo

更多推荐