守护进程:(daemon进程)
也称为精灵进程,常常在系统启动自启,仅在系统关闭时才终止,生存周期比较长。是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理发生的事件。 Linux下的大多数服务器都是利用守护进程实现的。
可通过ps -axj命令查看常用系统的守护进程,其中最常见的是init进程,负责各运行层次间的系统服务。但凡事无绝对:daemon进程其实也是可以停止的,如很多daemon提供了stop命令,执行stop命令就可以终止jdaemon,或者通过发送信号将其杀死,有或者daemon进程因为代码存在bug而异常退出!
看看ps命令:
1.ps:表示对进程监测和控制。
2.参数a:表示不仅列出当前用户的进程,也列出所有其他用户的进程。
3.参数x:表示不仅列出控制终端的进程,也列出所有无控制终端的进程。
4.参数j:表示列出与作业控制相关的信息。
习惯上daemon进程名字通常以 d 结尾,那么接下来看看守护进程的编程规则,在这之前,先看看几个名词:
进程ID---
Linux下每个进程都会有一个非负整数表示的唯一进程ID,简称pid。Linux提供了getpid函数来获取进程的pid,同时还
提供了getppid函数来获取父进程的pid,相关接口:
#include <sys/types.h>
#include <unistd.h>
pid_t getpid(void);
pid_t getppid(void);
操作系统必须保证在任