Linux系统进程类型有哪些?进程状态有哪几种?常见的进程有哪些?

一.linux系统进程类型有 :交互进程 ;批处理进程 ;监控进程(守护进程);


交互进程:由一个shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。
批处理进程:这种进程和终端没有联系,是一个进程序列。
监控进程(也称守护进程):Linux系统启动时启动的进程,并在后台运行。

 

二.进程状态有:

linux上进程有5种状态:

1. 运行(正在运行或在运行队列中等待)

2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)

4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)

5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) 

ps工具标识进程的5种状态码:

   D 不可中断 uninterruptible sleep (usually IO)

   R 运行 runnable (on run queue)

   S 中断 sleeping

   T 停止 traced or stopped

  Z 僵死 a defunct (”zombie”) process

 

三:常见的进程

1./usr/sbin/inetd 守护进程为网络提供 Internet 服务管理。

 

2.Linux下有3个特殊的进程,idle进程(PID=0), init进程(PID=1)和kthreadd(PID=2)

(1)idle进程由系统自动创建,运行在内核态.idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个没有通过fork或者kernel_thread产生的进程。完成加载系统后,演变为进程调度、交换.

(2)init进程由idle通过kernel_thread创建,在内核空间完成初始化后,加载init程序,并最终用户空间创建 .init 进程 (pid = 1, ppid = 0),init进程由0进程创建,完成系统的初始化.是系统中所有其它用户进程的祖先进程.

(3) kthreadd进程由idle通过kernel_thread创建,并始终运行在内核空间,负责所有内核线程的调度和管理 .kthreadd (pid = 2, ppid = 0)它的任务就是管理和调度其他内核线程kernel_thread,会循环执行一个kthread的函数,该函数的作用就是运行kthread_create_list全局链表中维护的kthread,当我们调用kernel_thread创建的内核线程会被加入到此链表中,因此所有的内核线程都是直接或者间接的以kthreadd为父进程.

你可能感兴趣的:(面试题)