当我gnome-control-center
从搜索栏中调用
操作系统运行的真正命令可以在以下位置找到ps
:
me@alpha:~$ ps -ef | grep gnome-control-center
me 13952 7293 0 12:20 tty2 00:00:00 gnome-control-center
me 15523 7835 0 12:27 pts/0 00:00:00 grep --color=auto gnome-control-center
表示操作系统打开终端tty2
,输入命令gnome-control-center
,回车。
当涉及到 init 或 systemd 进程时
me@alpha:~$ ps -ef | head -5
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 10:34 ? 00:00:05 /sbin/init splash
root 2 0 0 10:34 ? 00:00:00 [kthreadd]
root 3 2 0 10:34 ? 00:00:00 [rcu_gp]
root 4 2 0 10:34 ? 00:00:00 [rcu_par_gp]
参考 PID 1,它的命令是/sbin/init splash
。
从哪里输入,/sbin/init splash
,然后按 Enter?
tty?
代表守护进程。
如果我了解守护进程是从名称为的终端调用的,?
并且该终端是所有进程的祖母,是否正确?
笔记:
感谢 Sergiy 关于内核的教程。
我从一本名为“Unix 环境中的高级编程”的书中的图片中直观地得到了这个想法。
系统调用fork
是生成一个可以从 shell 或应用程序调用的新进程。
该
?
符号表示与该进程没有tty
关联。换句话说,没有真实或虚拟设备可以让该进程写入信息。但是,/sbin/init
进程实际上是系统上所有进程的“祖母”,直接或间接。它从何而来 ?Linux 内核启动它。内核可以称为所有进程的“祖母”。Linux内核文档中描述了这些步骤 :另请注意,这
?
表明它是一个守护进程。引用daemon(7) 手册页: