当前位置: 首页 > news >正文

宜宾建设局网站怎样在各大网站发布信息

宜宾建设局网站,怎样在各大网站发布信息,平武移动网站建设,龙岩kk网手机版前言 这个系列的文章有四篇#xff0c;其目的是为了搞清楚#xff1a; 进程#xff0c;shell#xff0c;shell进程#xff0c;终端#xff0c;控制终端#xff0c;前台进程#xff0c;后台进程#xff0c;控制进程#xff0c;前台进程组#xff0c;后台进程组#…前言 这个系列的文章有四篇其目的是为了搞清楚 进程shellshell进程终端控制终端前台进程后台进程控制进程前台进程组后台进程组会话守护进程init进程用户进程系统进程 它们之间的联系与区别系列文章第一篇传送门全面理解shell进程、终端、控制终端的概念以及它们之间有什么区别与联系系列文章第一篇系列文章第二篇传送门全面理解进程组会话的基础概念以及进程组会话控制终端前台进程组与后台进程组之间的联系系列文章第二篇系列文章第四篇传送门全面理解前台进程后台进程的概念以及之间如何切换init进程与系列文章大总结系列文章第四篇 什么是守护进程 守护进程daemon是在 Unix 和类 Unix如 Linux操作系统中运行的一种特殊的后台进程它们独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。 守护进程通常在系统引导装载时启动并且在系统关闭之前一直运行。 守护进程的名称通常以 d 结尾以便于区分。例如sshd 是 Secure Shell 守护进程httpd 是 HTTP 守护进程。 这些进程在后台运行提供各种服务例如处理网络请求如 web 服务器、处理系统日志、处理电子邮件和其他各种任务。 守护进程通常不直接与用户交互但它们工作起来非常重要为其他程序和用户提供关键服务。 守护进程在创建时通常会进行“孤儿化”操作使其成为 init 进程进程ID为1的子进程。这样它们就可以在后台运行不受任何特定用户或会话的影响。此外守护进程通常会更改其工作目录到根目录 (“/”)关闭所有已打开的文件描述符包括输入、输出和错误输出并重新打开标准输入、标准输出和标准错误到/dev/null这样就可以防止它们不小心读取或写入任何用户文件或终端。 总的来说守护进程是一种在后台运行为系统或其他程序提供服务的进程。 如何创建一个守护进程 创建守护进程需要一定的步骤这些步骤确保了守护进程能够在后台独立运行并且不受任何特定用户或会话的影响。 下面我来解释一下每个步骤的含义 执行一个 fork()之后父进程退出子进程继续执行。 这是创建守护进程的第一步目的是让守护进程在后台运行。在fork()之后父进程退出子进程成为孤儿进程并被 init 进程进程ID为1接管。 子进程调用 setsid() 开启一个新会话。 setsid()函数会创建一个新的会话并且让子进程成为这个新会话的首进程。这样子进程就与其原来的会话、进程组和控制终端脱离成为一个新的会话的首进程可以独立运行。 清除进程的 umask 以确保当守护进程创建文件和目录时拥有所需的权限。 umask是一个权限掩码它决定了新建文件或目录的默认权限。清除umask是为了让守护进程能够有更大的权限控制它创建的文件或目录。 修改进程的当前工作目录通常会改为根目录/。 这是为了防止守护进程阻止文件系统被卸载。如果守护进程的工作目录在一个挂载的文件系统中那么这个文件系统就不能被卸载。 关闭守护进程从其父进程继承而来的所有打开着的文件描述符。 这是为了避免守护进程继续使用这些文件描述符可能会导致不可预料的问题。 在关闭了文件描述符0、1、2之后守护进程通常会打开/dev/null 并使用dup2() 使所有这些描述符指向这个设备。 这是为了让守护进程的标准输入、输出和错误输出被重定向到/dev/null避免它们产生任何输出因为守护进程通常不需要和用户交互。 核心业务逻辑 在完成了以上所有的步骤后守护进程开始执行其核心的业务逻辑为系统或其他程序提供服务。 示例创建一个守护进程 下面是一个简单的守护进程的例子这个程序会每2秒获取一次系统时间并写入一个叫做time.txt的文件中 #include sys/types.h #include sys/stat.h #include fcntl.h #include unistd.h #include stdio.h #include time.h #include stdlib.h void daemonize() {// 执行一个 fork()之后父进程退出子进程继续执行。pid_t pid fork();if (pid 0)exit(0);else if (pid 0){perror(fork);exit(0);}// 子进程调用 setsid() 开启一个新会话。if (setsid() -1){perror(setsid);exit(0);}// 清除进程的 umask 以确保当守护进程创建文件和目录时拥有所需的权限。umask(0);// 修改进程的当前工作目录通常会改为根目录/。chdir(/home/nowcoder/Linux/lession28);// 关闭守护进程从其父进程继承而来的所有打开着的文件描述符。close(STDIN_FILENO);close(STDOUT_FILENO);close(STDERR_FILENO);// 在关闭了文件描述符0、1、2之后守护进程通常会打开/dev/null 并使用dup2() 使所有这些描述符指向这个设备。 }// 代码主体逻辑部分 int main() {daemonize();FILE *file fopen(/home/nowcoder/Linux/lession28/time.txt, a);if (file NULL){perror(fopen);exit(0);}while (1){time_t tt time(NULL);struct tm t *localtime(tt);fprintf(file, 现在是北京时间: %d-%d-%d %d:%d:%d\n, t.tm_year 1900, t.tm_mon 1, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec);fflush(file); // 保证数据立即写入文件sleep(2);}return 0; }编译和运行这个程序之后你可以使用ps -ef | grep a.out假设你的程序名是a.out来查看守护进程。你会看到它没有控制终端而且会话ID是1这都是守护进程的特征。你可以用 kill - 9 守护进程的进程号 去杀死一个守护进程 注意这是一个基础的守护进程一个真实的守护进程可能需要处理更多的细节对于实际环境中的守护进程需要处理的问题可能包括但不限于 日志记录当守护进程运行时可能需要记录或报告它的行为。通常它将这些信息写入日志文件或系统日志。 配置文件守护进程通常有一些可配置的设置这些设置通常存储在配置文件中。当守护进程启动时它会读取这个配置文件。 信号处理守护进程需要响应系统发送给它的信号。例如当系统关闭时它可能会收到一个SIGTERM信号通知它应当进行清理并优雅地终止。 错误处理守护进程需要处理可能在运行时发生的各种错误例如文件读取失败、网络连接中断等。 权限管理守护进程可能需要以特定的用户身份运行以限制其对系统资源的访问。 资源管理如果守护进程创建了子进程那么它可能需要跟踪这些进程确保它们被正确地关闭和清理。 以上就是在设计守护进程时可能需要考虑的一些问题。这些问题的处理方式会因应用的具体需求而异。 如何终止一个守护进程 终止守护进程 使用kill命令如果你知道守护进程的进程ID可以通过pstophtop或者pgrep命令查找你可以使用kill命令来发送一个信号终止它例如kill 12345其中12345是进程ID。 使用pkill或者killall命令如果你知道守护进程的名字你可以使用pkill或者killall命令来终止所有名字匹配的进程例如pkill mydaemon或者killall mydaemon其中mydaemon是进程名。 系统定义的守护进程与用户自定义的守护进程的区别 系统定义的守护进程通常是在系统启动时自动启动的用于执行一些系统任务如网络服务、日志记录等。这些守护进程的生命周期通常与系统运行时间相同。 用户自定义的守护进程是由用户创建并启动的通常用于执行特定的任务如监控某个服务、定期执行一些任务等。这些守护进程的生命周期可能会比系统定义的守护进程短因为它们可能在任务完成后就终止。 注意系统定义的守护进程通常是由系统管理员或者root用户启动的所以只有管理员或者root用户才能终止它们。而用户自定义的守护进程则可以由创建它们的用户来终止。 总结 守护进程Daemon是一类在 Unix 和 Unix-like 操作系统中运行的后台进程。这些进程通常在系统启动时开始然后在系统关闭时结束。守护进程通常不与用户直接交互它们为其他程序和用户提供服务例如网络服务、系统日志服务、打印服务等。 守护进程的名称通常以 “d” 结尾这表示它是一个守护进程。例如httpd 是一个处理 HTTP 请求的守护进程sshd 是一个提供安全 shell 服务的守护进程。 总的来说守护进程就是在后台运行为系统或用户提供各种服务的进程。与普通的进程一样只要知道进程号就可以用kill信号去杀死它。 最后的最后如果你觉得我的这篇文章写的不错的话请给我一个赞与收藏关注我我会继续给大家带来更多更优质的干货内容。
http://www.hkea.cn/news/14522511/

相关文章:

  • 网站建设功能图登录背景图片素材
  • 面试网站开发员app用户量排名
  • 鞍山一般建一个网站需要多少钱云阳网站建设
  • 苏州建设建设信息网站深圳宝安天气预报
  • 企业营销型网站建设图片seo是什么意思金融
  • 云主机多个网站郴州住房和城乡建设部网站
  • 北京的网站建设收费标准网站建设技术公司
  • 网站建设的目的12306网站建设多少钱
  • 破解版软件下载网站精诚时代 网站谁做的
  • 摄影瀑布流网站模板自适应网站什么做
  • 帝国网站系统做专题php网站开发岗位要求
  • 甘肃省网站备案南京自助建站软件
  • 那个网站可以做视频app制作响应式网站研究现状
  • 青岛网站建设在线做网站的费属于什么费用
  • 四川网站建设公司 登录外贸流程案例
  • 怎样创建网站平台百度一下 你就知道官方
  • 网站建设合同需要缴纳印花税做网站百度一下
  • 生物做实验的网站有哪些做的好看的网站
  • 如何做电子商务网站做网站需要干什么
  • 做最精彩绳艺网站无锡外贸网站建设
  • 临沂市经济开发区建设局网站网站开发笔记本要什么配置
  • 互动网站建设公司免费网站下载app软件
  • 阿里云建站中级版和高级版设计师专业
  • 网站后台和移动开发网站后台怎么添加模板
  • 花都建站建筑工程施工合同范本
  • 专门做自助游攻略的网站是哪个做网站找哪个部门
  • 如何在网站上添加qq动漫网页设计素材
  • 有什么兼职做设计的网站wordpress网页如何公开
  • 卓业网站建设上海建设银行网站上班时间
  • 厦门网站网页设网址怎么输入