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

义乌哪里有学做网站的深圳智慧建设控股有限公司网站

义乌哪里有学做网站的,深圳智慧建设控股有限公司网站,郑州最好的品牌策划公司,一键免费生成网页的网站文章目录 1. 补充1.1 查看1.2 控制进程组的方式 2. 创建守护进程step1. 忽略信号step2. 让自己不是组长step3. setsid 函数#xff1a;给调用函数设置新的会话和进程组 IDstep4. chdir 函数#xff1a;可以改变守护进程的工作路径step5. 处理文件描述符 0、1、2 守护进程类样… 文章目录 1. 补充1.1 查看1.2 控制进程组的方式 2. 创建守护进程step1. 忽略信号step2. 让自己不是组长step3. setsid 函数给调用函数设置新的会话和进程组 IDstep4. chdir 函数可以改变守护进程的工作路径step5. 处理文件描述符 0、1、2 守护进程类样例 1. 补充 1.1 查看 为了观察进程我们以在命令提示符处运行 sleep 命令为例。 ps axj | head -1 ps axj | grep sleep | grep -v grep得到的信息 PPID父进程 ID PID进程 ID PGID进程组 SID会话 ID TTY进程关联的终端 每登录一次都是一个新的会话即每个会话关联一个终端文件进程组的名称是进程组中第一个进程的 PID。 进程组分为前台任务和后台任务在会话中只能有一个前台任务在运行 解释了我们在命令行启动一个进程的时候bash 就无法工作了的原因每次登录就是创建一个新的会话、bash 任务启动进程就是在当前会话中创建一个后台任务退出会话会影响会话内部的所有任务一般网络服务器为了不受到用户的登陆注销的影响网络服务器会以 守护进程 的方式运行 1.2 控制进程组的方式 jobs查看自己会话中后台运行的进程 fg [任务号]将相应进程提到前台 ctrl Z将前台运行的进程暂停并放入后台 bg [任务号]运行后台暂停的进程 2. 创建守护进程 为了不受用户影响网络服务器会将其进程单独拎出来使用新的会话和进程组为此称守护进程 step1. 忽略信号 signal(SIGPIPE, SIG_IGN); signal(SIGCHLD, SIG_IGN); // ...step2. 让自己不是组长 要设置新的会话和进程组 ID需要使用 setsid 接口而每个进程组的组长进程组号同自己 PID 的进程是不能舍自己进程组不顾的即使用 setsid 创建新组必须不能是组长。 if (fork() 0) exit(0);fork出多进程让父进程退掉子进程继续跑就相当于让出了组长。 本质上守护进程就是 孤儿进程 的一种 step3. setsid 函数给调用函数设置新的会话和进程组 ID #include unistd.hpid_t setsid(void); 返回值 成功返回新的进程组 ID失败返回 -1并设置错误码 注意组长是不能使用该接口的 step4. chdir 函数可以改变守护进程的工作路径 非必要步骤 #include unistd.hint chdir(const char *path);返回值 成功返回 0失败返回 -1并设置错误码 step5. 处理文件描述符 0、1、2 这里的处理是将这些文件重新向到 /dev/null 中目的是切断新会话和键盘等的联系。 这里的 /dev/null 是一个字符设备传进的数据都会被直接丢弃。 守护进程类样例 #include cstdlib #include unistd.h #include signal.h #include sys/types.h #include sys/stat.h #include fcntl.hvoid Daemon() {// 1. 忽略信号signal(SIGPIPE, SIG_IGN);signal(SIGCHLD, SIG_IGN);// 2. 让自己不要成为组长if (fork() 0)exit(0);// 3. 新建会话自己成为会话的话首进程pid_t ret setsid();if ((int)ret -1){// 日志或打印exit(1);}// 4. 可选可以更改守护进程的工作路径// chdir(/)// 5. 处理后续的对于0,1,2的问题int fd open(/dev/null, O_RDWR);if (fd 0){// 日志或打印exit(2);}dup2(fd, 0);dup2(fd, 1);dup2(fd, 2);close(fd); }如果本文对你有些帮助请给个赞或收藏你的支持是对作者大大莫大的鼓励(✿◡‿◡) 欢迎评论留言~~
http://www.hkea.cn/news/14551453/

相关文章:

  • 做一个招聘信息的网站_用什么做网站的软件wordpress是不是很慢
  • 周至做网站的公司什么是网站
  • 高端网站设计需求有哪些做网站的不给源文件
  • 拼团手机网站开发中山企业网站建设公司
  • 免费做翻页页面的网站石柱县建设局网站
  • 怎么做货物收发的网站网站建设公司电话咨询
  • 曲周专业做网站网站建设活动策划
  • 网页设计与网站建设pdf制作一个手机app需要多少钱
  • 建立个人网站视频教程许柯wordpress
  • 建设厅国网查询网站东莞房价2022
  • 统计后台网站有哪些南昌seo网络
  • 打代码怎么做网站素质课网站设计与建设
  • 济南网站建设设计制作公司创建网店需要wordpress
  • 男和男做那个视频网站好免费咨询承诺书
  • 佛山设计网站wordpress模板手机
  • 网站建设与开发要学什么专业临沂网站建设公司招聘
  • 建外文网站h5页面怎么制作报名页面
  • 我的世界皮肤做壁纸的网站网站建设如何销售
  • 自动建站网站源码百度推广开户联系方式
  • wordpress站群服务器义乌网站建设郭
  • 备案不关闭网站的方法php网站怎么缓存
  • 响应式网站模板怎么做仿西部数码网站
  • 万维网络(临沂网站建设)抖音小程序游戏怎么免广告拿奖励
  • 英文站友情链接去哪里查备案个人网站
  • 建站平台和网站建设的区别鹤山网站建设
  • thinkphp建站网址国际新闻最新消息十条摘抄
  • 设计比较好的企业网站中国工程建设协会网站
  • 内蒙能源建设集团网站天猫商城官网下载
  • 网站开发经验建展机械有限公司
  • 杭州百度网站建设2019年开公司做网站可以吗