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

公司网站建设需要咨询什么问题wordpress 弹出

公司网站建设需要咨询什么问题,wordpress 弹出,网站开发量计算,微信小程序一起生活怎么注册目录 前言 1.如何理解前台进程和后台进程 2.守护进程的概念 3.为什么会存在守护进程 4.如何实现守护进程 5.测试 总结 前言 今天我们要介绍的是关于守护进程如何实现,可能有小伙伴第一次听到守护进程这个概念,感觉很懵,知道进程的概念&…

目录

前言

1.如何理解前台进程和后台进程

2.守护进程的概念

3.为什么会存在守护进程

4.如何实现守护进程

5.测试

总结


前言

        今天我们要介绍的是关于守护进程如何实现,可能有小伙伴第一次听到守护进程这个概念,感觉很懵,知道进程的概念,但是不知道守护进程是什么,它是否和进程有关联,以及守护进程有什么意义,带着这些疑问,下面,我们就一起来慢慢揭晓这些答案,相信看完这篇文章之后,关于守护进程的话题,你将会有一个清晰的认识。

1.如何理解前台进程和后台进程

如图所示:

 jobs:查看后台进程

例:

[myl@VM-8-12-centos tcp]$ sleep 1000&   
[1] 5492
[myl@VM-8-12-centos tcp]$ sleep 1000 | sleep 2000 &
[2] 6514
[myl@VM-8-12-centos tcp]$ jobs
[1]-  Running                 sleep 1000 &
[2]+  Running                 sleep 1000 | sleep 2000 &

 说明:&表示将该进程设置为后台进程运行,jobs查看后台进程,前面的数字代表作业编号

PGID:代表同一个进程组,一般将一个进程组中的第一个称为是组长,多个进程共同完成一个作业

SID:代表会话ID,不同进程组会话ID相同,代表属于同一个会话

fg + 作业编号:代表将该进程设置为前台进程

ctrl + Z:暂停该进程,并放到后台

bg + 作业编号,启动该进程

[myl@VM-8-12-centos tcp]$ jobs
[1]-  Running                 sleep 1000 &
[2]+  Running                 sleep 1000 | sleep 2000 &
[myl@VM-8-12-centos tcp]$ fg 2
sleep 1000 | sleep 2000
ls
pwd  
^Z[1]   Done                    sleep 1000[2]+  Stopped                 sleep 1000 | sleep 2000
[myl@VM-8-12-centos tcp]$ jobs
[2]+  Stopped                 sleep 1000 | sleep 2000
[myl@VM-8-12-centos tcp]$ bg 2
[2]+ sleep 1000 | sleep 2000 &
[myl@VM-8-12-centos tcp]$ jobs
[2]+  Running                 sleep 1000 | sleep 2000 &

所以作业是可以前后台进行切换的。

当客户端退出的时候,之前的进程也就退出了,包括前台进程和后台进程

2.守护进程的概念

       上面我们介绍了前台进程和后台进程,前台进程只能有一个,而后台进程可以有多个,可以互相切换,都属于同一个会话,共同特点就是当客户端退出之后不管是前台进程还是后台进程,都会退出,而我们今天要介绍的守护进程是自成会话,自成进程组和终端设备无关,除非使用kill命令终止该进程,否则将一直运行,将这种进程被称为是守护进程。

3.为什么会存在守护进程

        当实现了一款服务器,服务器启动之后对外提供服务,不能因为客户端退出,而服务进程也跟着退出了,所以一般将服务进程会设置为守护进程,一直对外提供服务。

4.如何实现守护进程

setsid()函数:生成一个会话ID,自成一个会话

#include <unistd.h>pid_t setsid(void);

使用说明:调用该函数的进程不能是进程组的组长

实现代码:

#pragma once#include<signal.h>
#include<unistd.h>
#include<cstdlib>
#include<cassert>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#define DEV "/dev/null" 
void daemonSelf(const char* curPath = nullptr)
{//1.让调用进程忽略掉异常的信号signal(SIGPIPE,SIG_IGN);//2.让自己变成守护进程的前提:以非组长的身份调用setsidif(fork() > 0)exit(0);//子进程 --- 守护进程,精灵进程,本质是孤儿进程的一种pid_t n = setsid();assert(n != -1);//3.守护进程默认是脱离终端的,关闭或者重定向以前进程默认打开的文件://dev/null文件的特点:向该文件中写入内容,会自动清空int fd = open(DEV,O_RDWR);if(fd >= 0){dup2(fd,0);dup2(fd,1);dup2(fd,2);}else{close(0);close(1);close(2);}//4.可选,进程执行路劲发生更改:if(curPath)chdir(curPath);
}

此时就可以在服务器初始化完成,启动之前将该进程设置为服务进程,至此该进程就不会再退出

5.测试

运行截图:

此时通过图片观察到,当服务器启动之后,不再像之前那样变为前台进程,而是自成会话作为后台进程,被其它客户端访问。

总结

        相信看完之后,大家对守护进程是什么就非常熟悉了,今天关于守护进程的介绍就到这里了,感谢大家的阅读,我们下次再见。

http://www.yayakq.cn/news/11803/

相关文章:

  • 网站建设与管理 孙伟黑龙江建设网ca锁在哪里
  • 湛江模板建站软件企业网站seo营销
  • 箱包网站设计湖南人文科技学院图书馆
  • php不用框架怎么做网站网站开发公司薪酬绩效
  • 沈阳开发网站公司广州网站建设广州网络推广公司排名
  • 怎样用源代码做网站怎么自己编码做网站
  • 做网站公司电话国外网站国内做好还是国外做
  • 深圳市宝安区建设局网站沈阳网站开发外包
  • 张家口住房和城乡建设厅网站wordpress 初始化 数据库
  • 做网站开发的方案网站建设要用到哪些应用工具
  • 沈阳专业网站建设互联网道路运输便民政务服务系统
  • 北京网站建设qq群一个外国人建设的中国文字网站
  • 龙华网站建设哪家公司好seo研究中心qq群
  • 北京网站制作的查询邮箱注册网站
  • 团购模板网站网站建设实训小组报告
  • ui设计 国外网站安徽网站备案手续
  • 17网一起做网店普宁站综合网页设计
  • 秦皇岛做网站哪家好网站如何优化流程
  • word 关于做网站怎样编辑网页
  • 做ppt到哪个网站找图片有趣的网站名称
  • 苏州外贸企业网站建设投诉做网站的电话
  • 网站建设销售员话术网站建设一点通
  • asp 女性 美容 知识 网站 源码微信开放平台文档
  • 广州网站制作Wordpress个人套餐
  • 上海市建设安全协会官方网站网站绑定微信公众号
  • 流量购买网站广东seo推广公司
  • 网站建设建设哪家好建设银行教育网站
  • 网站备案要幕布照网站关键字可以做几个
  • 怎么自建网站线上教学网站怎么建设
  • 揭阳高端网站建设价格建筑网络计划图