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

陕西响应式网站建设天津关键词排名提升

陕西响应式网站建设,天津关键词排名提升,外贸订单流失严重,学会网站 建设2.31、守护进程(2)1.守护进程的创建步骤2.什么情况下子进程不会继承父进程的组ID3.哪些操作会导致子进程的组ID发生改变4.kill怎么杀掉守护进程的实现守护进程1.守护进程的创建步骤 执行一个 fork(),之后父进程退出,子进程继续执…

2.31、守护进程(2)

  • 1.守护进程的创建步骤
  • 2.什么情况下子进程不会继承父进程的组ID
  • 3.哪些操作会导致子进程的组ID发生改变
  • 4.kill怎么杀掉守护进程的
  • 实现守护进程

1.守护进程的创建步骤

  • 执行一个 fork(),之后父进程退出,子进程继续执行。 使用子进程的目的是防止创建会话的进程为首进程,创建守护进程(daemon)时,通常需要让该进程摆脱与控制终端的关联,即让它成为一个无终端进程。首进程创建会话会导致新建会话的组id与之前存在的组id相同。
  • 子进程调用 setsid() 开启一个新会话。
  • 清除进程的 umask 以确保当守护进程创建文件和目录时拥有所需的权限。
  • 修改进程的当前工作目录,通常会改为根目录(/)
  • 关闭守护进程从其父进程继承而来的所有打开着的文件描述符。
  • 在关闭了文件描述符0、1、2之后,守护进程通常会打开/dev/null 并使用dup2() 使所有这些描述符指向这个设备。
  • 核心业务逻辑

2.什么情况下子进程不会继承父进程的组ID

  1. 当父进程使用setpgid()系统调用将自己加入到一个新的进程组中,而子进程在此之后被创建时,子进程不会继承父进程的PGID,而是创建一个新的进程组,并将自己作为该进程组的领导进程,PGIDPID相同。
  2. 当父进程在创建子进程之前调用了setsid()系统调用创建了一个新的会话,子进程也会在此之后创建一个新的会话,并成为该会话的领导进程,PGIDPID相同。
  3. 当父进程使用CLONE_NEWPIDCLONE_NEWUSERLinux特有的命名空间创建了一个新的进程隔离环境时,子进程不会继承父进程的PGID

3.哪些操作会导致子进程的组ID发生改变

  1. 调用setpgid()系统调用将子进程加入到一个新的进程组中,子进程的PGID将被设置为指定的PGID
  2. 在子进程中调用setpgid()系统调用将自己加入到一个新的进程组中,子进程的PGID将被设置为指定的PGID
  3. 在子进程中调用setsid()系统调用创建一个新的会话,子进程将成为该会话的领导进程,并且PGIDPID相同。
  4. 在子进程中调用exec()系统调用执行另一个程序,新程序的PGID可能与旧程序不同。

4.kill怎么杀掉守护进程的

  • Linux系统中,kill命令可以向指定进程发送信号。这个过程是通过进程ID(PID)来实现的,而不是通过控制终端。即使守护进程没有控制终端,它也有一个PID,其他进程可以使用这个PID向它发送信号,其中包括kill命令发送的信号。

实现守护进程

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <signal.h>
#include <time.h>
#include <fcntl.h>
#include <string.h>void work()
{// 获取从1970到time_t tm = time(NULL);struct tm* loc = localtime(&tm);// char buf[1024];// sprintf(buf, "%d-%d-%d %d:%d:%d\n", 1900 + loc->tm_year, 1 + loc->tm_mon//     , loc->tm_mday, loc->tm_hour, loc->tm_min, loc->tm_sec);// printf("%s", buf);char* str = asctime(loc);// printf("%s\n", str);int fd = open("time.txt", O_CREAT | O_APPEND | O_RDWR, 0664);write(fd, str, strlen(str));}int main()
{// 创建子进程,让父进程结束掉pid_t proPid = fork();if (proPid > 0){return 0;}// 创建新的会话窗口pid_t sePid = setsid();// 使用umask// mode_t & ~umaskumask(022);// 重定向进程工作目录,但是我们用户没有根目录权限chdir("/home/nowcoder/");// 将标准输出重定向到/dev/null目录下int fd = open("/dev/null");dup2(fd, STDIN_FILENO);dup2(fd, STDOUT_FILENO);sup2(fd, STDERR_FILENO);// 设置信号捕捉struct sigaction act;act.sa_flags = 0;sigemptyset(&act.sa_mask);act.sa_handler = work;sigaction(SIGALRM, &act, NULL);// 从3秒之后每隔两秒发送SIGALAR信号struct itimerval val;val.it_value.tv_sec = 3;val.it_value.tv_usec = 0;val.it_interval.tv_sec = 2;val.it_interval.tv_usec = 0; setitimer(ITIMER_REAL, &val, NULL);while (1){sleep(2);}return 0;
}
http://www.hengruixuexiao.com/news/16648.html

相关文章:

  • 广州网站建设哪里好互联网销售平台
  • 南冒网站建设制作推广公司西安百度竞价托管代运营
  • 怎么做网站搜索seo兼职工资一般多少
  • Java 网站设计代推广平台
  • 做海报创客贴同类网站百度seo点击排名优化
  • 陕西西安网站建设公司百度推广培训班
  • 个人网站想添加支付功能怎么做1688的网站特色
  • 南京网站开发南京乐识优百度seo推广免费
  • 政府网站建设依据搜索引擎排名竞价
  • 网站建设甲方给乙方的需求方案佛山网站建设模板
  • 公司建站 网站设计百度广告平台
  • 做优惠券网站如何引流个人开发app可以上架吗
  • 东莞市建设质量监督站网络推广外包费用
  • 有没有返利网站做京东的高级搜索指令
  • 一流专业建设方案seo查询工具有哪些
  • 幼儿园东莞网站建设长沙市seo百度关键词
  • 凡科网建站教程成都网站建设技术外包
  • 建筑工地网站有哪些百度引擎入口
  • 做网站之前的前期互联网广告代理可靠吗
  • 网站开发公司专业搜索图片
  • 汪峰做的音乐网站磁力猫最好磁力搜索引擎
  • 做本地团购网站推广普通话手抄报内容50字
  • 工商局网站实名认证怎么做如何推广公司
  • 手机网站跳转怎么做seo解释
  • 厦门高端网站建设定制google chrome网页版
  • wordpress bbs插件seo的作用
  • 网站开发税目编码seo页面优化技术
  • 怎么制作个人作品网站关键词
  • 上海哪个公司做网站好廊坊seo排名霸屏
  • 哪做网站网站seo啥意思