1.什么是进程
进程(process)的概念最早是由美国麻省理工学院的 J.H.Sallexer 于1966年提出的,是现代操作系统最基本、最重要的概念。进程的引入很好的描述了程序的执行过程和并发行为。
定义: 进程是并发程序的一次执行过程,进程是具有一定独立功能的程序关于某个数据集合的一次运行过程。
进程的本质:
1.进程的存在必然需要程序的存在。进程和程序不是一一对应的。
2.进程是系统中独立存在的实体。 它对应特殊的描述结构并有申请、使用、释放资源的资格。
3.进程的并发特性通过对资源的竞争来体现,进程的动态特性通过状态来描述。进程的逻辑形态和物理形态不同,逻辑上进程只不过是一系列信息的说明,物理上却占用着系统的各种资源。
4.进程和数据相关,但它不是数据,在它的存在过程中要对数据进行处理。
2.什么是守护进程
1.守护进程:在后台运行,且不受终端控制的一种进程。
2.通过ps axj | more指令可以查看到Linux下的守护进程
[root@localhost 进程组]# ps axj | more
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
0 1 1 1 ? -1 Ss 0 0:03 /sbin/init
0 2 0 0 ? -1 S 0 0:00 [kthreadd]
2 3 0 0 ? -1 S 0 0:00 [migration/0]
2 4 0 0 ? -1 S 0 0:02 [ksoftirqd/0]
2 5 0 0 ? -1 S 0 0:00 [stopper/0]
2 6 0 0 ? -1 S 0 0:41 [watchdog/0]
2 7 0 0 ? -1 S 0 0:37 [events/0]
2 8 0 0 ? -1 S 0 0:00 [events/0]
2 9 0 0 ? -1 S 0 0:00 [events_long/0]
2 10 0 0 ? -1 S 0 0:00 [events_power_ef]
2 11 0 0 ? -1 S 0 0:00 [cgroup]
2 12 0 0 ? -1 S 0 0:00 [khelper]
可以看到:守护进程的TPGID为-1,也就是TPGID为-1的为守护进程