首页
学习
活动
专区
圈层
工具
发布

Linux0号进程,1号进程,2号进程

本节我们将从linux启动的第一个进程说起,以及后面第一个进程是如何启动1号进程,然后启动2号进程。...至此1号进程就完美的创建成功了,而且也成功执行了init可执行文件。 2号进程 2号进程,是由1号进程创建的。而且2号进程是所有内核线程父进程。...2号进程就是刚才rest_init中创建的另外一个内核线程。...所以说所有的内核线程的父进程都是2号进程,也就是kthreadd。 总结: linux启动的第一个进程是0号进程,是静态创建的 在0号进程启动后会接连创建两个进程,分别是1号进程和2和进程。...2号进程会在内核中负责创建所有的内核线程 所以说0号进程是1号和2号进程的父进程;1号进程是所有用户态进程的父进程;2号进程是所有内核线程的父进程。 我们通过ps命令就可以详细的观察到这一现象。

8.2K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux进程ID号--Linux进程的管理与调度(三)【转】

    Linux 内核使用 task_struct 数据结构来关联所有与进程有关的数据和结构,Linux 内核所有涉及到进程和程序的所有算法都是围绕该数据结构建立的,是内核中最重要的数据结构之一。...是 Linux 中在其命名空间中唯一标识进程而分配给它的一个号码,称做进程ID号,简称PID。...在使用 fork 或 clone 系统调用时产生的进程均会由内核分配一个新的唯一的PID值 注意它并不是我们用户空间通过getpid( )所获取到的那个进程号,至于原因么,接着往下看 TGID 线程组...(轻量级进程组)的ID标识 在一个进程中,如果以CLONE_THREAD标志来调用clone建立的进程就是该进程的一个线程(即轻量级进程,Linux其实没有严格的进程概念),它们处于一个线程组,该线程组的所有线程的...在fork函数中对其进行赋值的 tgid 指该进程的线程描述符。在linux内核中对线程并没有做特殊的处理,还是由task_struct来管理。所以从内核的角度看, 用户态的线程本质上还是一个进程。

    7K10

    linux下杀死某个进程_shell脚本获取进程号并杀死进程

    输入top后可以看到如下的界面,实时显示进程情况。 ps命令:process status的简称,用于报告当前系统的进程状态。...此命令长配合grep过滤输出结果,常用的结构: ps -aux | grep *** aux选项如下所示: a-显示所有用户的进程 u-显示进程的用户和拥有者 x-显示不依附于终端的进程 举个例子,查看...2.杀死进程 我们可以通过 进程的名字和进程的ID(PID)来结束进程。...结束命令: kill:通过进程ID来结束进程 killall:通过进程名字结束进程 最长使用的结束进程的信号是: Signal Name Single Value Effect SIGHUP 1 挂起...所以我们现在来杀死python进程: kill SIGNAL PID SIGNAL 是要发送的信号,PID是进程号。 kill -9 14992 上面的命令就是杀死python进程的。

    7.4K20

    通过会话查看进程号

    我们在日常Oracle维护中,可能有的遇到一个会话处于假死状态或者通过常规命令无法杀死,这时需要直接通过操作系统kill命令来杀死进程,这节就讲述如何通过SID来获取操作系统的进程号。...注意:该功能只支持同时查一个进程号,无论会话是否ACTIVE ---- 开发环境 操作系统:CentOS 7.3 Python版本 :2.7 Django版本: 1.10.5 操作系统用户:oracle...在执行函数getprocessno通过SID获取对应的进程号,详情看具体代码 6....最后把页面的标题以及表格的数据放到dic变量中传到 oracle_command_result_1.html模板文件中 ---- getprocessno函数 这里的getprocessno函数通过SID获取操作系统进程号... {{title}}{{row}} 该模板就是一行文字,通过将传过来的变量显示在前端页面 ---- 实际效果 该功能只支持同时查一个进程号

    2.8K20

    Linux下2号进程的kthreadd--Linux进程的管理与调度(七)

    2号进程 内核初始化rest_init函数中,由进程 0 (swapper 进程)创建了两个process init 进程 (pid = 1, ppid = 0) kthreadd (pid = 2,...kernel_thread创建的内核线程会被加入到此链表中,因此所有的内核线程都是直接或者间接的以kthreadd为父进程 2号进程的创建 在rest_init函数中创建2号进程的代码如下 pid =...kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns); rcu_read_unlock(); complete(&kthreadd_done); 2号进程的事件循环...: 创建新 thread 的进程恢复运行 kthread_create() 并且返回新创建线程的任务描述符 新创建的线程由于执行了 schedule() 调度,此时并没有执行....kthread_create_list全局链表中维护的kthread, 当我们调用kernel_thread创建的内核线程会被加入到此链表中,因此所有的内核线程都是直接或者间接的以kthreadd为父进程

    3K20

    容器中的一号进程

    如何理解 init 进程? linux 进程在树中排序。每个进程都可以产生子进程,并且除了最顶层的进程之外,每个进程都有一个父进程。...Systemd 是目前最流行的 Linux init 进程,在它之前还有 SysVinit、UpStart 等 Linux init 进程。...docker中的init 在 Linux 上有了容器的概念之后,一旦容器建立了自己的 Pid Namespace(进程命名空间),这个 Namespace 里的进程号也是从 1 开始标记的。...所以,容器的 init 进程也被称为 1 号进程。你只需要记住:1 号进程是第一个用户态的进程,由它直接或者间接创建了 Namespace 中的其他进程。...总结 第一个概念是 Linux 1 号进程。它是第一个用户态的进程。它直接或者间接创建了 Namespace 中的其他进程。

    2.5K60

    Linux下0号进程的前世(init_task进程)今生(idle进程)----Linux进程的管理与调度(五)【转】

    /linux/init_task.h文件中 init_task是Linux内核中的第一个线程,它贯穿于整个Linux系统的初始化过程中,该进程也是Linux系统中唯一一个没有用kernel_thread...调用schedule()函数切换当前进程,在调用该函数之前,Linux系统中只有两个进程,即0号进程init_task和1号进程kernel_init,其中kernel_init进程也是刚刚被创建的。...调用该函数后,1号进程kernel_init将会运行! 调用cpu_idle(),0号线程进入idle函数的循环,在该循环中会周期性地检查。...1号kernel_init进程完成linux的各项配置(包括启动AP)后,就会在/sbin,/etc,/bin寻找init程序来运行。...,在调用该函数之前,Linux系统中只有两个进程,即0号进程init_task和1号进程kernel_init,其中kernel_init进程也是刚刚被创建的。

    6.4K30

    Linux下1号进程的前世(kernel_init)今生(init进程)----Linux进程的管理与调度(六)

    前面我们了解到了0号进程是系统所有进程的先祖, 它的进程描述符init_task是内核静态创建的, 而它在进行初始化的时候, 通过kernel_thread的方式创建了两个内核线程,分别是kernel_init...由0号进程创建1号进程(内核态),1号内核线程负责执行内核的部分初始化工作及进行系统配置,并创建若干个用于高速缓存和虚拟主存管理的内核线程。...init进程 随后,1号进程调用do_execve运行可执行程序init,并演变成用户态1号进程,即init进程。 init进程是linux内核启动的第一个用户级进程。...它按照配置文件/etc/initab的要求,完成系统启动工作,创建编号为1号、2号…的若干终端注册进程getty。 每个getty进程设置其进程组标识号,并监视配置到系统终端的接口线路。...上述过程可描述为:0号进程->1号内核进程->1号用户进程(init进程)->getty进程->shell进程 注意,上述过程描述中提到:1号内核进程调用执行init函数并演变成1号用户态进程(init

    4.8K11

    『叶问』#40,MySQL进程号、连接ID、查询ID、InnoDB线程与系统线程如何对应

    一文快速掌握 MySQL进程号、连接ID、查询ID、InnoDB线程与系统线程的对应关系。 有时候,怀疑某个MySQL内存查询导致CPU或磁盘I/O消耗特别高,但又不确定具体是哪个SQL引起的。...不过本文想讨论的是,MySQL的进程ID、内部查询ID、内部线程ID,和操作系统层的进程ID、线程如何对应起来。...1、操作系统进程ID MySQL是一个单进程多线程的服务程序,用 ps -ef|grep mysqld 就能看到其系统进程ID了。...ID、查询ID等的关系 从MySQL 5.7开始,performance_schema.threads 表增加 THREAD_OS_ID 列,用于记录MySQL内部线程对应的系统线程ID。...首先,OS thread handle 140442126739200 (OS thread handle是进程内部用于识别各个线程的内部ID),这里是个十进制的数值,需要先转成十六进制(有时候可能会直接用十六进制表示

    3.4K21
    领券