进程创建

朱恒志(与最后申请证书的姓名务必一致)+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

操作系统三大功能:

进程管理(最核心最基础)

内存管理

文件系统

fork系统调用在父进程和子进程各返回一次

子进程中返回的是0,父进程中返回值是子进程的pid。

以程序中的else if(pid==0)和else都会被执行,它的背后有两个进程,可以利用这一点在用户态创建子进程。

fork、vfork和clone三个系统调用都可以创建一个新进程

而且都是通过调用do_fork来实现进程的创建

实验

cd LinuxKernel  

rm menu -rf

git clone https://github.com/mengning/menu.git

cd menu

mv test_fork.c test.c

make rootfs

qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S

gdb

file linux-3.18.6/vmlinux

target remote:1234

原文地址:https://www.cnblogs.com/20135314ZHU/p/5344752.html