网站开发建设费用包括那些北京网站建设比较好的公司

web/2025/9/27 12:18:06/文章来源:
网站开发建设费用包括那些,北京网站建设比较好的公司,商城站到汤泉池,ico网站建设1 相关概念 1.1 守护进程的概念 守护进程也叫做精灵进#xff0c;是运行在后台的一种特殊进程。它独立于控制终端并且可以周期性的执行某种任务或者处理某些发生的事件。 守护进程是非常有用的进程#xff0c;在Linux当中大多数服务器用的就是守护进程。比如#xff0c;web…1 相关概念 1.1 守护进程的概念 守护进程也叫做精灵进是运行在后台的一种特殊进程。它独立于控制终端并且可以周期性的执行某种任务或者处理某些发生的事件。 守护进程是非常有用的进程在Linux当中大多数服务器用的就是守护进程。比如web服务器http等同时守护进程完成很多系统的任务。当Linux系统启动的时候会启动很多系统服务这些进程服务是没有终端的也就是你把终端关闭了这些系统服务是不会停止的它们一直运行着。它们有一个名字就叫做守护进程。 一般以服务器的方式工作对外提供服务的服务器都是以守护进程精灵进程的方式在服务器中工作的一旦启动之后除非用户主动关闭否则一直会在运行。 1.2 进程组和会话 进程组的相关概念 进程除了有进程的PID之外还有一个进程组进程组是一个进程或者多个进程组成。通常他们与同一作业相关联可以收到同一终端的信号每个进程组有唯一的进程组ID每一个进程组有一个进程组组长。如何判断一个进程是不是这个进程组的组长通常进程ID等于进程该进程组ID那么该进程就是该进程组的组长。 会话组的相关概念 会话是有一个或者多个进程组组成的集合一个会话可以有一个终端建立与控制终端连接的会话首进程被成为控制进程一个会话的几个进程组可以分为前台进程和后台进程而这些进程组的控制终端相同也就是sesion id是一样的。当用户使用Ctrl c 产生SIGINT信号时内核会发送信号给相应的前台进程组的所有进程。如果运行一个程序我想把它放到后台运行可以在可执行程序后面加一个如果想把后台进程提到前台可以使用fgjobs指令可以查看当前会话的后台进程将前台进程放到后台Ctrl z  |  bg 任务编号 观察现象  下面来介绍上述选项的意义             综上 我们在命令行中启动一个进程现在就可以叫做在会话中启动一个进程组来完成某种任务所有会话内的进程fork创建子进程一般而言依旧属于当前会话。 像平时当我们觉得Windows卡顿的时候我们可能会重新注销一下。注销就是让用户退出登录后再重新登陆那么此时就相当于给你新建一个会话。卡顿是因为你本次登陆过程中启动了很多任务且都属于同一个会话注销本质就是把你内部会话的所有进程组删掉。 注意 在登录的状态时新起了一个网络服务器创建好之后在派生的子进程也属于当前会话所以我们就不能让这个网络服务器属于这个会话内容要不然它会受到用户的登录和注销的影响。所以当我们有个网络服务的时候应该脱离这个会话让它独立的在计算机里自成进程组自成新会话。这样在两个用户同时登录的时候形成的两个会话是独立的在操作各自的bash不会相互影响。像这种自成进程组自成新会话而且周而复始的进程称为守护进程精灵进程。 2 守护进程的方式 我们这里有三种方式让自己的进程守护进程化 自己写daemon函数推荐使用这种方式用系统的daemon函数nohup命令 2.1 TCP网络程序守护进程化 之前的TCP网络程序是在前台运行的但是实际上服务器并不是在前台运行的而是在后台运行的。所以现在对TCP网络程序的代买进行修改加上一个小组件使其守护进程化让服务器在后台运行。编写daemon.hpp文件完成守护进程的主要逻辑具体如下 忽略一些不需要的异常信号防止进程被信号杀死如调用signal函数忽略SIGPIPE信号更改进程的工作目录选做fork创建子进程exit让父进程退出。让执行服务的进程不是进程组组长从而保证后续不会再和其他终端相关联调用setsid函数设置自己是一个独立的会话setsid不能设置进程组组长的进程将标准输入、标准输出、标准错误重定向到/dev/null一种文件不能写也不能读 进程守护化需要调用setsid()函数注意点如下 调用setsid创建新会话的目的是让当前进程自成会话与当前bash脱离关系创建守护进程的核心。调用setsid创建新会话时要求调用进程不能是进程组长但是当我们在命令行上启动多个进程协同完成某种任务时其中第一个被创建出来的进程就是组长进程因此我们需要fork创建子进程让子进程调用setsid创建新会话并执行后续代吗而父进程直接exit退出即可。此时子进程就不是组长进程了而是独立会话的守护进程。当服务端给客户端写入时但是客户端突然关掉了那就是向一个不存在的文件描述符写入此时服务端会收到SIGPIPE信号而自动终止所以我们要忽略该信号。当前进程有自己的工作目录有时候守护进程想要更改自己的工作目录一般会将守护进程的工作目录设置为根目录便于让守护进程以绝对路径的形式访问某种资源。我们可以使用chdir函数更改进程的工作目录不过此操作不做强求。守护进程不能直接和用户交互也就是说守护进程与终端去关联了因此一般我们会将守护进程的标准输入。标准输出、标准错误都重定向到/dev/null,/dev/null是一个字符文件设备类似于Linux的一个“文件黑洞”or“垃圾桶”通常用于屏蔽/丢弃输入输出信息。建议这么做 【daemon.hpp实现如下】 #pragma once#include cstdlib #include cstring #include signal.h #include unistd.h #includesys/types.h #includesys/stat.h #includefcntl.h #include log.hpp #include err.hpp//守护进程的本质孤儿进程 void Daemon() {// 1. 忽略异常信号signal(SIGCHLD, SIG_IGN);signal(SIGPIPE, SIG_IGN);// 2. 创建子进程让子进程成为新的会话if (fork() 0)exit(0); // 父进程退出// 子进程// 3. 设置子进程为新会话pid_t id setsid();if (id 0){logMessage(Fatal, setsid error:%s\n, strerror(errno));exit(SETSID_ERR);}logMessage(Info, setsid successful.\n);//4. 可选更改工作目录//chdir(/);//5. 处理0,1,2的问题int fdopen(/dev/null,O_RDWR);if(fd0){logMessage(Fatal,open /dev/null error:%s\n,strerror(errno));exit(OPEN_ERR);}logMessage(Info,open /dev/null successful!\n);dup2(fd,0);dup2(fd,1);dup2(fd,2);close(fd); } 出现问题进程变成守护进程后打印的日志信息不见了要怎么办 解决问题日志持久化将日志输出追加打印到log.txt文件中! 最后一个步骤我们只需要在服务端的main函数命令行参数信息处理后调用此daemon函数即可 测试结果 现在我们运行服务端通过下面的监控脚本辅助观察信息 [xzyecs-333953 tcp]$ ps axj | head -1 ps axj | grep serverTcp [xzyecs-333953 tcp]$ ps axj | head -1 ps axj | grep sshd 2.2 TCP网络编程代码 lesson25/tcp · 杰编程/LinuxCode - 码云 - 开源中国 (gitee.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用vs做网站设计一个网站要多久

Linux 安装 MySQL【超详细版】 ​编辑 我叫BuGu    2023-05-11 16:48:10 发布 一、安装 MySQL 的准备工作 1. 查看系统版本 cat /etc/redhat-release2. 查看系统是否已经安装过 MySQL 查看是否安装了 MySQL rpm -qa | grep mysql查看是否有安装 mariadb,该软件与 MySQ…

沂水建设局网站做竞价的网站做优化有效果吗

Weak Session IDs (弱会话) 当用户登录后,在服务器就会创建一个会话(session),叫做会话控制,接着访问页面的时候就不用登录,只需要携带Sesion去访问。 sessionID作为特定用户访问站点所需要的唯一内容。如果能够计算或轻易猜到该…

龙岗网站建设价格谷歌关键词搜索排名

😜作 者:是江迪呀✒️本文关键词:日常BUG、BUG、问题分析☀️每日 一言 :存在错误说明你在进步! 一、问题描述 微信小程序页面跳转的时候出现下面的问题: wx.redirectTo({url: /pages/index/i…

优化网站方法江油网站建设制作策划哪家专业

课程:课时46 优化问题实战_哔哩哔哩_bilibili 这就是我们今天要求的2D函数: 下图是使用python绘制出来的图像: 但是可以看出有4个最小值,但是还是不够直观,还是看课程里面给的比较好,蓝色是最低点位置&am…

网站建造免费装修网站模板

正题 luogu评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP3831 题目大意 有n∗nn*nn∗n的铁路网走一格代价为2,mmm个中转站可以改变方向代价为1。求两个点之间的最短路。 解题思路 我们发现n∗nn*nn∗n很大,所以我们考虑根据mmm…

国外知名网站网上申请平台怎么申请

今天,微软.NET开发团队发布.NET Framework 4.5.2 RTM正式版。新版框架继续高度兼容现有的.NET Framework 4、4.5、4.5.1等版本,该版本框架与旧版的.NET Framework 3.5 SP1和早期版本采取不同的处理方式,但与.NET Framework 4、4.5相比&#x…

遵义网站推广站群软件哪个好

说完了光学系统的分辨率之后我们来看看相机的图像分辨率。图像分辨率比较好理解,就是单位距离内的像用多少个像素来显示。以我们的ORCA-Flash4.0为例,芯片的像元大小为 6.5 μm,在 40X物镜的放大倍率下,1 μm的物经光学系统放大为…

关于网站建设的调查报告自己做音乐网站

文章目录 String简单介绍常见命令应用场景 Hash简单介绍常见命令应用场景 List简单介绍常见命令应用场景 Set简单介绍常见命令应用场景 Sorted Set(Zset)简单介绍常见命令应用场景 Bitmap简单介绍常见命令应用场景 附录 Redis支持多种数据类型,比如String、hash、li…

建立免费网站兰溪做网站哪家好

题目描述 输入一个数n,求出 [1, n] 中每个数码出现的次数,即0 - 9每个数出现的次数。 解题思路 首先是无情的暴力法,可以用于判断我们后续的优化代码是否正确。 import java.io.*; import java.util.*;public class Main1 {static int n;p…

淘宝客网站开发教程做网页的网站叫什么

知网查重会查重表格吗?答案是肯定的。如果出现知网查重表格重复很高,那么我们一样是会进行避免查重的,通常表格在查重后会在报告中展示,如果出现重复会提示大家,我们只需要根据这个提示进行修改降低表格查重率即可。那…

如何做自己网站平台网络商品推广策划书

bug虐我千百遍,我待他如初恋。每次深夜挑灯都是我与bug较量的时间。今天我要说的就是写一个爬虫模版,自动抓取百度图片的教程,这次使用Kotlin编写的爬虫程序在Scrapy框架下完成的,如有不足欢迎指正。 首先,使用Kotlin编…

自己做键盘的网站自己想做个网站

【数据库原理及应用】经典题库附答案(14章全)——第一章:数据库基础知识 【数据库原理及应用】经典题库附答案(14章全)——第二章:关系数据库知识 【数据库原理及应用】经典题库附答案(14章全)——第三章:结构化查询语言SQL 【数据库原理及应用】经典题库附答案(14章…

动易的网站能否静态广州网络在线推广

#文件防泄密软件# 中科数安是一家专注于信息安全领域的高科技企业,其提供的防止公司内部文件资料及数据外泄的解决方案主要包括图档透明加密和源代码防泄露系统等核心服务。 中科数安 | 图档、源代码防止外泄系统 PC地址: www.weaem.com 1. 图档透明加…

没有备案的网站安徽做网站的公司有哪些

目录 一、1103. 分糖果 II 1.模拟 2.数学 二、312. 戳气球 1.递归-记忆化搜索 2.区间dp 三、2. 两数相加 1.迭代 2.递归-新建节点 3.递归-原节点 四、4. 寻找两个正序数组的中位数 1.堆 2.双指针二分 五、5. 最长回文子串 1.动态规划 2.中心扩展算法 六、6. Z…

外网设计网站2017两学一做竞赛网站

一、DeepLabV3图像语义分割原理 DeepLabV3架构采用扩张卷积(也称为空洞卷积)来捕捉多尺度信息,从而在不损失空间分辨率的情况下实现对图像的精细分割。 二、DeepLabV3代码及预训练权重下载 2.1 下载deeplabv3代码 这里使用的是B站大佬Bu…

天猫建设网站的意义北约网络防御中心

configparser模块(十六) ConfigParser模块在python3中修改为configparser.这个模块定义了一个ConfigParser类,该模块的作用就是用来读取配置文件的,使用模块中的RawConfigParser()、ConfigParser()、 SafeConfigParser()这三个方法,创建一个…

东莞网站设计教程北京自助企业建站模板

前文介绍 我们在前面了解到了线性回归模型,其实我们可以把线性回归看成一个单个的神经元,它实际上就完成了两个步骤 1.对输入的特征的加权求和 2.将结果通过传递函数(或者激活函数)输出 这里我们提到了传递函数(或者…

网站流量合作dedecms 网站还原

有用influxdb2 不支持sql,并且实质是个列存储数据库,这里基于 influxdb-client-java 和 beanutils反射,写了个数据查询,把结果以行对象的形式返回的工具类。 package com.joy.malltools.influxdb2;import com.influxdb.client.Q…

深圳外贸建站网络推广联客易如何修改网站模版

报错500。看弹幕,知道可能是yml或sql有问题。 所以检查idea工作台, 直接找UserMapper检查,发现完全OK。 顺着这个error发现可能是sql有问题。因为提示是sql问题,而且是有now()的那个sql。 之后通过给的课件,复制课件…

网站编程学习wordpress自动过滤html标签

mockitoMockito是一个模拟框架,可让您使用简洁的API编写漂亮的测试。 它偏向于最小的规格,使不同的行为看起来有所不同,并显示清晰的错误消息。 创造嘲弄 要使用Mockito创建模拟,只需使用Mock注释模拟,然后调用Mockit…