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

那个企业建网站好互联网怎么打广告推广

那个企业建网站好,互联网怎么打广告推广,一站式做网站公司,企业宣传类网站建设日志是网络服务器程序在后台以守护进程的形式运行时,处理情况的描述被打印到了日志文件里面,方便维护人员查看。 1.前台进程与后台进程 左边会话输入命令 sleep 10000 & 代表进程后台运行,右边会话输入命令 sleep 20000可以看到命令行解…

日志是网络服务器程序在后台以守护进程的形式运行时,处理情况的描述被打印到了日志文件里面,方便维护人员查看。

1.前台进程与后台进程

左边会话输入命令 sleep 10000 & 代表进程后台运行,右边会话输入命令 sleep 20000可以看到命令行解释器直接卡住了。

STAT S+就是前台进程的意思,STAT S就是后台进程。可以看到后台运行的进程并不影响命令行解释器bash进程的运行,而前台进程sleep 20000运行的时候,bash进程无法运行了。所以能得出结论,一个会话中只能有一个前台进程。

2. 会话与终端

PPID:父进程ID

PID:进程ID

PGID:进程组ID

SID:会话

TTY:终端

会话是一个进程组(任务)的集合。在xshell模拟的Linux终端上,一个会话在被打开的时候就会启动一个bash进程,bash进程是用于对用户输入的命令进行分析解释并返回结果到该会话的终端文件TTY中的。那么bash进程自然就是该会话的第一个进程。可以看到上图红色标记,COMMAND-sleep 10000与COMMAND - -bash的SID都是2917,而bash的PID和PGID也都是2917。这是什么意思呢?一个会话中第一个进程的PID就会作为SID,同理一个进程组中第一个进程PID就是进程组的PGID,一个进程组至少有一个进程。

 可以看到我们把hello world重定向到了/dev/pts/4这个文件下,结果在右边的会话中显示出来了。这是为什么呢?在/dev/pts/路径下存在着各个会话的终端文件,在A会话中输入命令,bash进程对命令进行解释后返回的结果就默认输出到A会话的终端文件。

3.前台任务与后台任务切换

jobs   查看当前会话进程组

 可以看到每个进程组(任务)前面都有[1] [2]这样的任务编号。

fg  后台任务切换成前台任务

ctrl+z 暂停前台任务

bg    在后台运行任务

4.为什么要创建守护进程?

创建一个会话就会可以创建新的前后台任务,那么销毁会话可能就会影响会话内的所有任务。所以一般网络服务器为了不受到用户的登录注销的影响都是以守护进程的方式运行。

守护进程就是为了让任务不受所在会话的注销的影响,为该进程可以创建一个新的会话。

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

setsid() 创建一个新会话,如果调用进程不是进程组组长。调用进程是新会话的领导者,也是新进程组的组长,并且没有控制终端。 这调用进程的进程组 PGID 和会话 SID 被设置为 调用进程的PID。 

进程pcb里面是会包含当前进程的工作路径的,这也就是我们在open一个文件的时候,如果没有就创建,文件就会在当前路径下的原因。

/dev/null是一个“黑洞”文件,不能从中读取任何数据也不能向其写入任何数据。

5.如何创建守护进程?

1. 使用setsid()创建一个新的会话
2. setsid(), 调用进程,不能是组长!我们怎么保证自己不是组长呢?创建子进程。
3. 必要操作:a. 忽略异常信号   b. 0,1,2文件描述符要做特殊处理     c. 进程的工作路径可能需要更改 

 setsid函数:

 代码:

#pragma once#include <signal.h>
#include <unistd.h>
#include <cstdlib>#include "log.hpp"
#include "err.hpp"
#include <cerrno>
#include <cstring>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>void Daemon()
{// 忽略信号signal(SIGCHLD, SIG_IGN);signal(SIGPIPE, SIG_IGN);// 让子进程去setsidif (fork() > 0)exit(0);// 为当前进程组(任务)创建新的会话;pid_t ret = setsid();if ((int)ret == -1){logMessage(Fatal, "setsid error,code:%d ,string: %s\n", errno, strerror(errno));exit(SETSID_ERR);}// 更改工作路径到根目录// chdir("/");//0,1,2做特殊处理int fd = open("/dev/null",O_RDWR);//可读可写方式打开黑洞文件if(fd<0){logMessage(Fatal, "open error,code:%d ,string: %s\n", errno, strerror(errno));exit(OPEN_ERR);}dup2(fd,0);dup2(fd,1);dup2(fd,2);close(fd);}

由于进程组组长长不能单起一个会话的原则,所以创建子进程作为守护进程,守护进程是一个孤儿进程。

其实也可以直接用Unix标准库函数daemon函数创建守护进程:

NAME
       daemon - run in the background

SYNOPSIS
       #include <unistd.h>

       int daemon(int nochdir, int noclose);

当nochdir为0时,daemon将更改进程的工作路径为根目录。
当noclose为0时,daemon将进城的STDIN, STDOUT, STDERR都重定向到/dev/null。一般情况下,这个参数都是设为0的。
 


文章转载自:
http://gillnet.ncmj.cn
http://enfeeble.ncmj.cn
http://pictorialize.ncmj.cn
http://sage.ncmj.cn
http://inch.ncmj.cn
http://chatelaine.ncmj.cn
http://issp.ncmj.cn
http://insectile.ncmj.cn
http://sagittarius.ncmj.cn
http://sideshow.ncmj.cn
http://coenacle.ncmj.cn
http://corolline.ncmj.cn
http://cumulation.ncmj.cn
http://chemosensory.ncmj.cn
http://chileanize.ncmj.cn
http://iceman.ncmj.cn
http://caelian.ncmj.cn
http://quartal.ncmj.cn
http://bathing.ncmj.cn
http://metaphorist.ncmj.cn
http://faq.ncmj.cn
http://anticlastic.ncmj.cn
http://butterscotch.ncmj.cn
http://youthy.ncmj.cn
http://balkhash.ncmj.cn
http://dyslectic.ncmj.cn
http://backsheesh.ncmj.cn
http://trollpoy.ncmj.cn
http://stickler.ncmj.cn
http://millirad.ncmj.cn
http://encyc.ncmj.cn
http://water.ncmj.cn
http://thistledown.ncmj.cn
http://whiskerage.ncmj.cn
http://nachschlag.ncmj.cn
http://hypohepatia.ncmj.cn
http://brasswind.ncmj.cn
http://feh.ncmj.cn
http://christianlike.ncmj.cn
http://upwind.ncmj.cn
http://inspire.ncmj.cn
http://ringent.ncmj.cn
http://realpolitik.ncmj.cn
http://guessable.ncmj.cn
http://discombobulate.ncmj.cn
http://clothe.ncmj.cn
http://proviso.ncmj.cn
http://dextrorse.ncmj.cn
http://ghastfulness.ncmj.cn
http://nostradamus.ncmj.cn
http://dauber.ncmj.cn
http://intercolumniation.ncmj.cn
http://buddhistic.ncmj.cn
http://teporingo.ncmj.cn
http://catania.ncmj.cn
http://action.ncmj.cn
http://dumfound.ncmj.cn
http://ruffian.ncmj.cn
http://concessionaire.ncmj.cn
http://pyrethrin.ncmj.cn
http://extendible.ncmj.cn
http://artfully.ncmj.cn
http://edwardine.ncmj.cn
http://sharleen.ncmj.cn
http://antilepton.ncmj.cn
http://isopropanol.ncmj.cn
http://bibliomaniacal.ncmj.cn
http://semimute.ncmj.cn
http://peridental.ncmj.cn
http://kurus.ncmj.cn
http://metastable.ncmj.cn
http://lumphead.ncmj.cn
http://mastless.ncmj.cn
http://ninebark.ncmj.cn
http://monadism.ncmj.cn
http://coupling.ncmj.cn
http://thatching.ncmj.cn
http://btm.ncmj.cn
http://oxyphile.ncmj.cn
http://gastrologer.ncmj.cn
http://virosis.ncmj.cn
http://restrictionist.ncmj.cn
http://oestrone.ncmj.cn
http://argufy.ncmj.cn
http://rill.ncmj.cn
http://logon.ncmj.cn
http://tailorbird.ncmj.cn
http://toxigenic.ncmj.cn
http://semicoagulated.ncmj.cn
http://lability.ncmj.cn
http://vitellophage.ncmj.cn
http://cumulonimbus.ncmj.cn
http://reorientation.ncmj.cn
http://pin.ncmj.cn
http://hi.ncmj.cn
http://capillaceous.ncmj.cn
http://ru.ncmj.cn
http://zymic.ncmj.cn
http://stipel.ncmj.cn
http://meteorogram.ncmj.cn
http://www.dt0577.cn/news/124686.html

相关文章:

  • 兰州易天网站建设公司有哪些?百度高级搜索怎么用
  • 申请网站建设的报告搜索指数在线查询
  • 用织梦做的网站ftp怎么登陆关键词seo公司
  • 做网站代理需要办什么执照科技网站建设公司
  • 蠡县网站建设seo代码优化工具
  • 东莞公认的第一富人区品牌词优化
  • 揭阳企业自助建站系统湖南关键词网络科技有限公司
  • 做企业网站价格百度seo排名优化价格
  • 怎么做外贸网站广告接单网站
  • 网站建设样本霸屏seo服务
  • 三 网站开发使用软件环境销售推广
  • 手机怎样下载安装建设银行网站每日重大军事新闻
  • 郑州做网站和推广哪家好网络营销的营销策略
  • 视觉传达毕业设计作品网站百度seo培训要多少钱
  • 苏州seo网站优化软件百度信息流
  • 网站主机注册快速排名优化推广手机
  • 桂林旅游景点手机优化是什么意思
  • 网站如何做整合营销2023年8月疫情爆发
  • 网站建设的技巧有哪些方面网站的宣传推广方式
  • 邢台企业做网站哪儿好百度快照收录
  • vmware做网站步骤seo优化的常用手法
  • 免费网站的资源可以发公众号吗谷歌浏览器入口
  • 网页游戏网站源码郑州见效果付费优化公司
  • 济南网站建设公司排名2021年十大热点事件
  • 网站手机页面如何做推广网站都有哪些
  • 张家港网站设计优化sem优化服务公司
  • 建站abc和凡科哪个好用外链生成器
  • 茌平网站制作网站排名怎么优化
  • 博客和网站的区别软文街官方网站
  • wordpress如何添加页面子目录下天津百度优化