易截截图软件、单文件、免安装、纯绿色、仅160KB

linux 0号进程 1号进程 区别(转)

       系统允许一个进程创建新进程,新进程即为子进程,子进程还可以创建新的子进程,形成进程树结构模型。整个linux系统的所有进程也是一个树形结构。树根是系统自动构造的,即在内核态下执行的0号进程,它是所有进程的祖先。由0号进程创建1号进程(内核态),1号负责执行内核的部分初始化工作及进行系统配置,并创建若干个用于高速缓存和虚拟主存管理的内核线程。随后,1号进程调用execve()运行可执行程序init,并演变成用户态1号进程,即init进程。它按照配置文件/etc/initab的要求,完成系统启动工作,创建编号为1号、2号...的若干终端注册进程getty。
        每个getty进程设置其进程组标识号,并监视配置到系统终端的接口线路。当检测到来自终端的连接信号时,getty进程将通过函数execve()执行注册程序login,此时用户就可输入注册名和密码进入登录过程,如果成功,由login程序再通过函数execv()执行shell,该shell进程接收getty进程的pid,取代原来的getty进程。再由shell直接或间接地产生其他进程。
  上述过程可描述为:0号进程->1号内核进程->1号用户进程(init进程)->getty进程->shell进程
   注意,上述过程描述中提到:1号内核进程调用执行init并演变成1号用户态进程(init进程),这里前者是init是函数,后者是进程。两者容易混淆,区别如下:
   1.init()函数在内核态运行,是内核代码
   2.init进程是内核启动并运行的第一个用户进程,运行在用户态下。
   3.一号内核进程调用execve()从文件/etc/inittab中加载可执行程序init并执行,这个过程并没有使用调用do_fork(),因此两个进程都是1号进程。
转自:http://qhwang.blogbus.com/logs/46874366.html,且做了一定修改


相关文档:

linux自动启动 oracle


概述
让数据库在操作系统启动的时候自动启动,会让数据库的维护变得更加简单、方便。
曾经写过一篇在linux自动启动
oracle的文章“linux
下Oracle自动启动与停止(一)
”http://blog.csdn.net/chenxiaohua/archive/2008/02/26/2121878.aspx

该文章的方法需要用到/etc/oratab、$ORACLE_HOME/bin/dbst ......

Linux音频编程指南






<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
H1 { margin-bottom: 0.21cm }
H1.western { font-family: "DejaVu Serif", serif }
H1.cjk { font-family: "AR PL UKai CN"; font-size: 24pt; font-style: normal; font-weight: bold }
H1.ctl { font- ......

OK6410 烧写LINUX系统的问题与解决

    OK6410是一款设计优良,性价比出众的基于S3C6410X-66的ARM11开发板产品。官方提供了wince6 linux android 的支持与DEMO程序。根据其手册,烧写WINCE没有什么大问题。但如果原来是WINCE,想改烧写U-boot就会出现一些问题。
    按照手册,在用SD卡启动后,下载u-boot到开发板上,用u-boo ......

10大linux开发工具


Linux开发环境必备十大开发工具
 
 
  【IT168 专稿】Linux是一个优秀的开发环境,但是如果没有好的开发工具作为武器,这个环境给你带来的好处就会大打折 扣。幸运的是,有很多好用的Linux和开源开发工具供你选择,如果你是一个新手,你可能不知道有哪些工具可用。本文将介绍其中十个杰出的开源开发工具, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号