苏州市城乡建设局网站,wordpress 收录插件,asp.net 如何设置网站首页,珠海市手机网站建设品牌守护进程#xff08;Daemon#xff09;是一种在后台运行的特殊进程。它通常在操作系统启动时启动#xff0c;并一直运行直至系统关闭。它不与任何终端关联#xff0c;并且没有标准输入、输出和错误流。它的主要作用是在系统启动后执行一些特定的任务或者提供某些服务#… 守护进程Daemon是一种在后台运行的特殊进程。它通常在操作系统启动时启动并一直运行直至系统关闭。它不与任何终端关联并且没有标准输入、输出和错误流。它的主要作用是在系统启动后执行一些特定的任务或者提供某些服务例如网络服务、定时任务、日志记录等。它们通常使用 init 程序来启动和关闭。在 Linux 操作系统中守护进程通常以字母“d”结尾例如 httpd、sshd 、mysqld等。 守护进程Linux的叫法Windows上叫服务
特点后台、运行周期长。 会话Session是指用户登录系统后从登录到退出所经历的整个过程期间可以运行多个进程这些进程之间可以通过进程间通信IPC来进行数据交换。 会话首进程Session Leader是由用户登录时启动的第一个进程它的进程号PID通常是1它是该会话中所有进程的祖先进程。 进程组Process Group是一组相关进程的集合它们可以通过进程组IDPGID来标识其中一个进程被指定为组长进程。 组长进程Group Leader是进程组中的一员它的任务是为该组的其他进程提供一个中心控制点它通常是进程组中第一个启动的进程也可以通过setpgid()系统调用来动态指定。组长进程可以接收来自终端的信号它可以将信号传递给组中的其他进程也可以将信号忽略或处理。 创建新会话
fork()让父进程退出留下的就是子进程
挑一个组员进程setsid()创建新进程该进程变成组长进程 1.fork()退出父进程//得到普通进程非组长进程
2.setsid()创建新会话
3.fork()退出父进程非必须--防止进程组组长与其他进程关联
4.chdir(/);将当前的工作路径放到根目录--确保不会被卸载
5.umask(0);//删除掩码//给权限
6.close();//关闭标准输入输出
7.处理僵死进程 umask掩码 特殊权限自己 同组人 other 掩码 umask 是一种权限掩码用于限制文件和目录的默认权限。 它通常由三个八进制数字表示分别代表文件所有者、同组用户和其他用户的权限。umask 的作用是在创建新文件或目录时屏蔽掉一些默认权限以达到更好的安全性和隐私保护。 例如一个 umask 值为 022 的用户在创建新文件时文件的默认权限为 rw-r--r--即文件所有者有读写权限同组用户和其他用户只有读权限。 守护进程不属于当前进程组
#includestdio.h
#includeunistd.h
#includestring.h
#includestdlib.h
#includetime.h
#includesys/stat.h
int main()
{pid_t pid fork();if(pid!0)exit(0);//退出父进程setsid();//创建新会话pid_t pid1 fork();if(pid1!0){exit(0);}chdir(/);umask(0);int maxfd getdtablesize();//得到文件描述符个数for(int i0;imaxfd;i)//关闭他们{close(i);}while(1){FILE* fp fopen(/tmp/testtest.log,a);//追加信息if(fpNULL){break;}time_t tv;time(tv);fprintf(fp,time is %s,asctime(localtime(tv)) );fclose(fp);sleep(5);}}tail -f 文件名可以看文件末尾追加的内容 删除守护进程