linux系统的1号进程,linux 1号进程

linux 1号进程

1号进程,pid为1的进程,又称init进程。

linux系统启动后,第一个被创建的用户态进程就是init进程。它有两项使命:

1、执行系统初始化脚本,创建一系列的进程(它们都是init进程的子孙);

2、在一个死循环中等待其子进程的退出事件,并调用waitid系统调用来完成“收尸”工作;

init进程不会被暂停、也不会被杀死(这是由内核来保证的)。它在等待子进程退出的过程中处于TASK_INTERRUPTIBLE状态, “收尸”过程中则处于TASK_RUNNING状态。

pid为0、1的进程是杀不掉的,

系统进行初始化的时候将这两个进程的所有信号屏蔽掉了,

通过kill发送给0、1的信号被忽略,不会有任何作用。

而普通进程有两个信号是不能忽略的:

SIGKILL SIGSTOP

相关文档:

一、下载ubuntu操作系统

http://www.ubuntu.com.cn/

我在这个网站下载ubuntu 10.04 LTS版本的,并写成光盘格式。

二、安装ubuntu linux

(1)设置bios从光盘引导

(2)启动计算机之后会出现一个install窗口,并显示了欢迎信息,选择语言:中文(简体),他提供了试用和安装两个选项,我选择了“试用Ubuntu 10.04 ......

step1:

在ubuntu里面右击要共享的文件夹,会提示安装软件,选择安装即可;

step2:

实现xp匿名访问Ubuntu共享文件夹, 则只需修改/etc/samba/smb.co ......

前言:

目前正在忙于ARM平台的Linux应用程序的开发(其实是刚刚起步学习啦)。底层的东西不用考虑了,开发板子提供了NAND Bootloader,和Linux 2.6的源码,而且都编译好了。自己编译的bootloader可以用,但是Linux编译后,文件很大,暂且就用人家编译的系统,先专心写应用程序 吧。。

正文:要做的任务是,把一块板子上的 ......

看源代码。

#include

#include

#if CONFIG_MODVERSIONS==1

#define MODVERSIONS

#include

#endif

int init_module()

{

printk("Hello, I'm kernel\n");

return 0;

}

void cleanup_module()

{

printk("I'm kernel, bye\n");

} ......

linux中一共有32种信号,在/usr/include/bits/signum.h 头文件中可以看到

#define    SIGHUP        1    /* Hangup (POSIX).  */

#define    SIGINT        2    /* Interrupt (ANSI).& ......

你可能感兴趣的:(linux系统的1号进程)