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

用php内容做电商网站万江网站制作

用php内容做电商网站,万江网站制作,棋牌小程序开发一个多少钱啊,中小企业查询官网个人主页~ 守护进程 一、守护进程的概念二、调用接口1、创建新会话2、守护进程 三、进程属性信息四、深入理解守护进程1、实现过程2、实例 一、守护进程的概念 我们在前面的博文《进程信号的产生》中提到过前台进程和后台进程的概念,它们之间的区别就是是否获得键盘…

在这里插入图片描述

个人主页~


守护进程

  • 一、守护进程的概念
  • 二、调用接口
    • 1、创建新会话
    • 2、守护进程
  • 三、进程属性信息
  • 四、深入理解守护进程
    • 1、实现过程
    • 2、实例

一、守护进程的概念

我们在前面的博文《进程信号的产生》中提到过前台进程和后台进程的概念,它们之间的区别就是是否获得键盘文件,拥有键盘输入的就是前台进程,后台进程获取不到键盘文件

守护进程是 Linux 系统中运行在后台的特殊进程,具有无终端依赖、长期运行、权限分离等特点,通常用于实现系统服务、网络服务等功能,进行守护进程化的进程就是将终端关闭也不会杀死,只要服务器一直运行,它就可以一直运行,但可以通过kill命令杀死

二、调用接口

1、创建新会话

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

返回值:成功返回新会话id,失败返回-1

2、守护进程

#include <unistd.h>
int daemon(int nochdir, int noclose);

返回值:成功返回0,失败返回-1
nochdir:如果该参数的值为 0,daemon 函数会将当前工作目录更改为根目录(/),如果为非 0 值,则不更改当前工作目录
noclose:如果该参数的值为 0,daemon 函数会将标准输入、标准输出和标准错误输出重定向到 /dev/null,如果为非 0 值,则不进行重定向

三、进程属性信息

在这里插入图片描述

  • 1. PPID(Parent Process ID)

    • 全称:父进程ID
    • 含义:当前进程的父进程的唯一标识符
    • 作用:用于跟踪进程间的父子关系(例如,通过fork()创建的子进程会继承父进程的PPID)
  • 2. PID(Process ID)

    • 全称:进程ID
    • 含义:操作系统分配给每个进程的唯一数字标识符(范围通常为1~32768)
    • 作用:用于区分和管理系统中的不同进程(例如,通过kill命令终止进程)
  • 3. PGID(Process Group ID)

    • 全称:进程组ID
    • 含义:进程所属的进程组的ID,进程组是一个或多个相关进程的集合,一个任务对应一个进程组
    • 作用:便于批量管理相关进程(如停止或恢复整个进程组)
  • 4. SID(Session ID)

    • 全称:会话ID
    • 含义:进程所属的会话的ID,会话由一个或多个进程组组成,通常由登录 shell 创建,实际上是bashid
    • 作用:管理终端会话中的所有进程(例如,当用户注销时,整个会话的进程会被终止)
  • 5. TTY(Teletypewriter)

    • 全称:终端设备
    • 含义:进程关联的终端设备(如pts/0表示伪终端),若显示为?,表示进程无控制终端
    • 作用:区分进程是否在终端中运行(如后台服务通常无终端)
  • 6. TPGID(Foreground Process Group ID)

    • 全称:前台进程组ID
    • 含义:当前在终端前台运行的进程组的ID
    • 作用:终端输入/输出会被分配给前台进程组(例如,按Ctrl+C会中断前台进程)
  • 7. STAT(Process Status)

    • 全称:进程状态
    • 含义:进程的当前状态,常见状态码包括:
      • R(运行中)
      • S(睡眠中)
      • D(不可中断睡眠)
      • T(停止)
      • Z(僵尸进程)
    • 作用:快速判断进程的运行状态(例如,Z表示进程已终止但未被父进程回收)
  • 8. UID(User ID)

    • 全称:用户ID
    • 含义:启动进程的用户的唯一标识符(如root的UID为0)
    • 作用:用于权限控制(例如,普通用户无法修改root进程)
  • 9. TIME

    • 全称:CPU时间
    • 含义:进程自启动以来累计使用的CPU时间(格式为HH:MM:SS
    • 作用:衡量进程对CPU资源的占用情况
  • 10. COMMAND

    • 全称:命令名称
    • 含义:启动进程的命令或程序名称(如bashnginx
    • 作用:快速识别进程的功能(例如,通过COMMAND列判断是否为恶意程序)

同一个session内启动的sid都一样
同一PGID的,即一个组内的,PIDPGID相同的被称为组长

四、深入理解守护进程

1、实现过程

首先创建子进程然后退出父进程,使子进程在后台运行,然后创建新会话,脱离掉原会话和控制终端,保证进程不受终端信号影响,然后再重定向标准输入输出,确保守护进程不与终端交互,然后变更工作目录,忽略掉子进程退出信号和终端停止信号,所以守护进程本质上是一个孤儿进程

2、实例

#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
#include <syslog.h>void daemonize() {// 创建子进程并退出父进程,子进程成为孤儿进程pid_t pid = fork();if (pid < 0) exit(EXIT_FAILURE);if (pid > 0) exit(EXIT_SUCCESS);// 创建新会话,调用该函数的进程会成为新会话的会话首进程、新进程组的组长进程//并且会脱离原有的控制终端if (setsid() == -1) exit(EXIT_FAILURE);// 重定向标准输入输出close(STDIN_FILENO);close(STDOUT_FILENO);close(STDERR_FILENO);int fd = open("/dev/null", O_RDWR);dup2(fd, STDIN_FILENO);dup2(fd, STDOUT_FILENO);dup2(fd, STDERR_FILENO);// 允许所有权限umask(0);// 变更工作目录chdir("/");// 忽略子进程状态改变时发送给父进程的信号signal(SIGCHLD, SIG_IGN);
}int main() {daemonize();while (1) {sleep(3600); // 模拟工作}return 0;
}

上面的过程,可以被函数daemon函数替换

#include <unistd.h>
#include <syslog.h>int main() {// 使用 daemon 函数将当前进程转换为守护进程// 第一个参数 0 表示将工作目录更改为根目录// 第二个参数 0 表示将标准输入、标准输出和标准错误输出重定向到 /dev/nullif (daemon(0, 0) == -1) {perror("daemon");return 1;}// 模拟守护进程持续工作while (1) {// 睡眠 3600 秒(1 小时)sleep(3600); }return 0;
}

今日分享就到这里了~
在这里插入图片描述


文章转载自:

http://U3FFD6dz.pLfLq.cn
http://bShveU3L.pLfLq.cn
http://UgjQk43T.pLfLq.cn
http://0t5WnDpA.pLfLq.cn
http://78nCpEqh.pLfLq.cn
http://J7q3LRZR.pLfLq.cn
http://p3WFC6Hw.pLfLq.cn
http://xtwPPR9q.pLfLq.cn
http://GU8VNCyN.pLfLq.cn
http://xy2lK29X.pLfLq.cn
http://LfSIDZOv.pLfLq.cn
http://hUT9IlRO.pLfLq.cn
http://5ykxrpwY.pLfLq.cn
http://T5Jar93k.pLfLq.cn
http://HjZmli21.pLfLq.cn
http://nsNl8BI6.pLfLq.cn
http://23d4OUHu.pLfLq.cn
http://TFyQdnyG.pLfLq.cn
http://feIBN0dT.pLfLq.cn
http://TDTwfJZP.pLfLq.cn
http://SoQGuoTc.pLfLq.cn
http://IpR55MrW.pLfLq.cn
http://qtYeEORo.pLfLq.cn
http://ZYl6O02G.pLfLq.cn
http://xkVWtdA3.pLfLq.cn
http://sBa9Hu0z.pLfLq.cn
http://uQN4CxN6.pLfLq.cn
http://DUIqBGwD.pLfLq.cn
http://p4Uve7n5.pLfLq.cn
http://ORG2QQPo.pLfLq.cn
http://www.dtcms.com/wzjs/753282.html

相关文章:

  • 烟台市芝罘区住房和建设局网站云南云南省城乡建设厅网站
  • 用.aspx做网站紫鸟超级浏览器手机版
  • 旅游网站建设备案如何建立一个网站请简述流程
  • 类似淘宝网站建设有哪些模板wordpress婚纱主题
  • 合肥市建设建筑网站app合作开发
  • 网站开发商品管理表字段杭州建设厅网站
  • 那个视频网站可以做桌面背景家装效果图设计网站
  • 做网站该读啥学校开发小程序用什么语言
  • 深圳网站建设燦wordpress播放
  • word模板免费网站宝塔安装wordpress教程
  • 物流网站购买物流单号广州seo网站设计
  • 金昌网站seo站群系统程序
  • 论坛网站建设规划书如何在微信上投放广告
  • 帮别人做网站开什么内容的专票网站运营年度推广方案
  • 一起做网站17广州滨江区高端网站建设
  • 网页制作网站源码建设银行网站查询不显示整存争取金额
  • 河北邯郸做网站的公司哪家好发稿类别是什么
  • 毕业设计网站开发流程图房子装修风格大全2021新款
  • 南宁cms建站高端兼职网站开发
  • 青岛开发区网站建设多少钱进入公众号平台
  • 怎么免费建公司网站我有域名怎么建网站
  • 北京网站建设服务器维护专题网站策划书
  • 马关县住房和城乡建设局网站东莞东城邮编
  • 怎么进网站市场调研公司有哪些
  • 小视频做网站怎么赚钱搜索网站logo怎么做
  • 南京模板网站建设企业wordpress怎么翻墙
  • 湖北省建设质量安全协会网站云版erp系统功能介绍
  • 怎么做建设网站自已建设网站流程
  • 做瞹瞹嗳视频网站在线观看iis wordpress 500
  • 株洲网站排名桥东网站建设