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

番禺做网站哪家强域名注册网站系统

番禺做网站哪家强,域名注册网站系统,杭州开发区网站建设,德阳市建设管理一体化平台网站目录 一、孤儿进程 二、僵尸进程 三、守护进程&#xff08;精灵进程&#xff09; 一、孤儿进程 定义&#xff1a;孤儿进程是指那些其父进程已经结束&#xff0c;但它们依然在运行的进程 创建一个孤儿进程&#xff1a; #include <stdio.h> #include <stdlib.h> #in…

目录

一、孤儿进程

 二、僵尸进程

 三、守护进程(精灵进程)


一、孤儿进程

        定义:孤儿进程是指那些其父进程已经结束,但它们依然在运行的进程

创建一个孤儿进程:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>int main() {pid_t pid = fork(); // 创建子进程if (pid < 0) {// fork失败perror("fork");exit(EXIT_FAILURE);}if (pid == 0) {// 子进程printf("Child process: PID=%d, PPID=%d\n", getpid(), getppid());// 暂停子进程,以便父进程有足够时间退出sleep(10);// 父进程退出后,子进程成为孤儿进程printf("Child process (orphan): PID=%d, PPID=%d\n", getpid(), getppid());//父进程退出后查看子进程的父进程id和子进程id} else {// 父进程sleep(1);printf("Parent process: PID=%d\n", getpid());//父进程ID// 父进程退出exit(EXIT_SUCCESS);}return 0;
}

主要进程标识:

进程号:PID(process id)

父进程号:PPID(parent process id)

进程组号:PGID,进程组:若干个进程的集合称之为进程组,默认情况下,新创建的进程会进程父进程的进程组ID

会话组号:SID,会话组:若干个进程组的集合称之为会话组,默认情况下,新创建的进程会继承父进程的会话ID

 二、僵尸进程

        定义: 僵尸进程(Zombie Process)是指那些已经完成执行但仍然存在于系统中的进程。这些进程已经终止,但它们的进程控制块(PCB)还未被父进程读取和清理。

创建一个僵尸进程:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>int main() {pid_t pid = fork();if (pid < 0) {perror("fork");exit(EXIT_FAILURE);}if (pid == 0) {// 子进程printf("Child process: PID=%d\n", getpid());// 子进程终止,但父进程故意不调用wait()来清理exit(EXIT_SUCCESS);} else {// 父进程printf("Parent process: PID=%d\n", getpid());// 父进程故意不调用wait(),等待子进程成为僵尸sleep(5); // 让子进程有时间成为僵尸printf("Parent process exiting\n");// 父进程退出exit(EXIT_SUCCESS);}return 0;
}

 三、守护进程(精灵进程)

        定义:守护进程(精灵进程)(Daemon Process)是指那些在后台运行的进程,通常不与用户直接交互。精灵进程在系统启动时启动,持续运行,并在系统关闭时退出。它们通常用于提供系统服务或进行系统管理任务。

创建一个精灵进程:

1、创建孤儿进程pid = fork()
if(pid > 0)exit(0);2、创建新的会话组:让孤儿进程成为会话组组长
可以让子进程完全独立,脱离其他兄弟,亲缘进程的控制setsid();//创建新会话,当前进程变为会话组组长3、修改进程的工作路径(运行目录),比如:家目录,根目录
chdir(新路径)4、重设文件权限掩码
umask(0);5、关闭所有的文件描述符:从父进程得到的文件描述符用不到,全部关闭
getdtablesize() == max + 1
for(int i = 0;i < getdtablesize ;i++)close(i);

实现代码:

//创建一个守护进程
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<wait.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<fcntl.h>
int main(int argc, const char *argv[])
{//1、创建一个孤儿进程pid_t pid=fork();if(pid>0)exit(0);//2、创建一个会话组setsid();//3、修改工作路径chdir("/home/ubuntu/test");//4、重设文件权限掩码umask(0);//5、关闭其他文件描述符,包括终端文件for(int i=0;i<getdtablesize();i++)close(i);//守护进程创建成功//用守护进程写入数据进入文件int fd = open("1.txt",O_WRONLY|O_TRUNC|O_CREAT,0664);char *p="hello world";while(1){write(fd,p,10);sleep(1);}close(fd);return 0;
}

http://www.hkea.cn/news/546953/

相关文章:

  • 做se要明白网站明星百度指数排名
  • 网页微博草稿箱在哪西安seo推广优化
  • 嘉兴微信网站建设谷歌首页
  • 什么网站做海报b站不收费网站
  • 如何自己做个简单网站seo知识点
  • 有哪些做批发的网站有哪些手续百度推广优化是什么意思
  • 用阿里巴巴店铺做公司网站怎么样引擎搜索有哪些
  • 网页制作软件属于什么软件类别简述seo的优化流程
  • 网站建设 公司新闻谷歌排名网站优化
  • 怎样做自己的vip解析网站佛山外贸seo
  • 我的网站在百度搜不到了seo是什么职业做什么的
  • 网站私信界面国外网站seo免费
  • wordpress mysql类惠州网站seo
  • 为什么做网站必须要用域名举出最新的网络营销的案例
  • 电子请柬网站开发百度竞价推广登录入口
  • 网站设计与推广国际时事新闻2022最新
  • 柬埔寨网站开发营销技巧和营销方法
  • 网站建立价格长沙网站外包公司
  • 王建设医生个人网站免费google账号注册入口
  • 免费自建手机网站搜索引擎优化的方法包括
  • 甘肃省建设工程安全质量监督管理局网站官网拉新项目官方一手平台
  • 做电影网站赚钱武汉新闻最新消息
  • 做网站没有成本的方法上海百度分公司电话
  • 寺庙网站建设百度ai人工智能
  • 完成公司网站建设下载关键词推广软件
  • wordpress如何关闭网站下载app
  • WordPress小程序二次修改石家庄seo排名外包
  • 做百度关键词网站厦门seo外包
  • 泉州seo-泉州网站建设公司谷歌关键词搜索工具
  • 组织部网站建设方案行业关键词分类