文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux进程管理(5)

Linux进程管理(5)

时间:2009-03-08  来源:wt_tokey

sys_clone(),sys_fork(),sys_vfork()和sys_thread()都是要调用do_fork()的。   long do_fork(unsigned long clone_flags,//第1参数
             unsigned long stack_start,//第2参数
             struct pt_regs *regs,//第3参数
             unsigned long stack_size,//第4参数
             int __user *parent_tidptr,//第5参数
             int __user *child_tidptr)//第6参数
  第1参数:标志位。最后一个字节是进程结束时返回给父进程的信号。 第2参数:新的栈指针。(0:当前栈指针) 第3参数:指向保存有要传给do_fork函数的寄存器值的栈地址 第4参数:栈大小。 第5参数:父进程地址空间。 第6参数:子进程地址空间。   clone_flages是以下值的或组合 CLONE_VM 0x00000100 子进程与父进程共享mm_struct
CLONE_FS 0x00000200 子进程与父进程共享fs_struct
CLONE_FILES 0x00000400 子进程与父进程共享files_struct
CLONE_SIGHAND 0x00000800 子进程与父进程共享signal_struct,sighand_struct
CLONE_PTRACE 0x00002000 父进程如果被ptrace,则子进程也被ptrace
CLONE_VFORK 0x00004000 子进程的mm_struct被mm_relase之前,父进程不动作
CLONE_PARENT 0x00008000 子进程与父进程有同一个父进程
CLONE_THREAD 0x00010000 子进程与父进程同属一个线程组
CLONE_NEWNS 0x00020000 子进程与父进程不共享namespace
CLONE_SYSVSEM 0x00040000 子进程于父进程共享system V semaphore的undo list(sem_undo)
CLONE_SETTLS 0x00080000 根据第3个参数值,为子进程设置TLS
CLONE_PARENT_SETTID 0x00100000 在第5个参数所指定的父进程地址里写入父进程ID
CLONE_CHILD_CLEARTID 0x00200000 子进程结束时,在第6个参数所指定的子进程地址里写入0
CLONE_DETACHED  0x00400000 不用
CLONE_UNTRACED  0x00800000 强制解除父进程的ptrace
CLONE_CHILD_SETTID 0x01000000 子进程动作时,在第6个参数所指定的子进程地址里写入子进程ID
CLONE_STOPPED  0x02000000 子进程生成时处于TASK_STOPPED状态
       
相关阅读 更多 +
排行榜 更多 +
几何飞行内购修改版

几何飞行内购修改版

飞行射击 下载
别踩白块内购修改版

别踩白块内购修改版

休闲益智 下载
乐涂数字填色游戏

乐涂数字填色游戏

休闲益智 下载