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).& ......