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

wordpress文章不收录太原搜索引擎优化招聘信息

wordpress文章不收录,太原搜索引擎优化招聘信息,花店网页模板html,php网站开发学什么相关函数 1. fork() 功能&#xff1a;创建一个新的子进程&#xff0c;子进程是父进程的副本&#xff08;复制代码、数据段、堆栈等&#xff09; #include <sys/types.h> #include <unistd.h>pid_t fork(void);返回值&#xff1a; 成功时父进程返回子进程的 PI…

相关函数 

1. fork() 

  • 功能:创建一个新的子进程,子进程是父进程的副本(复制代码、数据段、堆栈等)
#include <sys/types.h>
#include <unistd.h>pid_t fork(void);返回值:
成功时父进程返回子进程的 PID(>0)
子进程返回 0
失败时返回 -1(如进程数达到限制)

2. getpid()、 getppid()

  • 功能:获取当前进程的PID(进程ID)、PPID(父进程ID)

#include <sys/types.h>
#include <unistd.h>pid_t getpid(void);
返回值:当前进程的PID(始终成功)pid_t getppid(void);
返回值:当前进程的PPID(若父进程已终止,返回系统初始化进程的PID,如 init 或 systemd)

4. sleep(unsigned int seconds)

  • 功能:使当前进程休眠指定秒数(可能被信号中断)。

#include <unistd.h>unsigned int sleep(unsigned int seconds);参数:seconds——休眠的秒数返回值:
成功休眠完毕返回 0
被信号中断时返回剩余的秒数

5. exit(int status)

  • 功能:终止当前进程,并返回状态码给父进程(通过 wait/waitpid 获取)

#include <stdlib.h>void exit(int status);参数:status——退出状态(低8位可被父进程捕获)

6. waitpid(pid_t pid, int status, int options)

  • 功能:等待指定子进程的状态变化(如终止或暂停)

#include <sys/types.h>
#include <sys/wait.h>pid_t waitpid(pid_t pid, int *wstatus, int options);参数:
pid:
>0:等待指定PID的子进程。
-1:等待任意子进程(等价于 wait)。
0:等待与调用进程同组的子进程。
<-1:等待进程组ID为 |pid| 的任意子进程。status:输出子进程的终止状态(需用宏如 WIFEXITED 解析)。options:
0:阻塞等待
WNOHANG:非阻塞,若无子进程退出则立即返回。返回值:
成功时返回 子进程PID。
WNOHANG 且无子进程退出时返回 0。
失败时返回 -1(如无子进程)。

7. WIFEXITED(int status)

  • 功能:检查子进程是否正常退出(通过 exit 或 return)。


参数:status——waitpid 获取的退出状态返回值:
若正常退出返回 非0值(true)
否则返回 0

8. WEXITSTATUS(int status)

  • 功能:提取子进程的退出状态码(exit 或 return 的值)。

参数:status——waitpid 获取的退出状态(需先通过 WIFEXITED 检查)返回值:子进程的退出状态码(低8位,范围 0-255)

实操

test.c

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>
#include <stdlib.h>#define TASK_NUM 10typedef void (*func_t)();
func_t other_task[TASK_NUM];void a() { printf("正在执行a任务\n"); }
void b() { printf("正在执行b任务\n"); }
void c() { printf("正在执行c任务\n"); }int LoadTask(func_t func)
{int i = 0;for(; i < TASK_NUM; ++i) if (other_task[i] == NULL) break;if (i == TASK_NUM) return -1;else other_task[i] = func;return 0;
}void InitTask(){for(int i = 0; i < TASK_NUM; ++i) other_task[i] = NULL;LoadTask(a);LoadTask(b);LoadTask(c);
}void RunTask()
{for(int i = 0; i < TASK_NUM; ++i){if (other_task[i] == NULL) continue;else other_task[i]();}
}int main()
{pid_t id = fork();if (id == 0){int cnt = 10;while(cnt){printf("我是子进程,我还能跑%ds, pid: %d, ppid: %d\n", cnt--, getpid(), getppid());sleep(1);int *p = NULL;*p = 1;}exit(111);}InitTask();while(1){int status = 0;pid_t ret_id = waitpid(id, &status, WNOHANG);if (ret_id < 0){printf("waitpid error\n");exit(1);}else if (ret_id == 0){RunTask();sleep(1);continue;}else{if (WIFEXITED(status))printf("wait succcess, child exit code: %d\n", WEXITSTATUS(status));elseprintf("wait succcess, child exit signal: %d\n", status & 0x7F);break;   }}return 0;
}

http://www.dtcms.com/wzjs/8575.html

相关文章:

  • 做网站 嵌入支付seo高手是怎样炼成的
  • 产品设计专业网站关键词seo优化公司
  • 如何建设个人的网站绍兴百度推广优化排名
  • 同性恋色做视频网站有哪些宁德市区哪里好玩
  • 网站云服务器管理人员课程培训
  • wordpress 网站标题设置方法seo技术是什么意思
  • 成都做企业网站竞价推广托管
  • 做网站发布网郑州网站排名优化外包
  • 免费空间领取网站磁力链
  • 有什么做Java笔试题的网站门户网站建站系统
  • 怎么把园林设计网站做的酷炫万网注册域名
  • 手机创建网站的软件百度快速排名平台
  • 武汉高端网站建设百度新闻下载安装
  • nas 做网站服务器最优化方法
  • flash可以做网站吗外贸谷歌seo
  • 惠州h5网站建设临沂今日头条新闻最新
  • 网上赚钱的方法有哪些湛江seo
  • 湖北省建设局网站首页市场营销手段13种手段
  • 网站怎么做数据备份排行榜
  • 魔云手机建站域名注册价格及续费
  • 顺德龙江做网站全能优化大师
  • 合理规划网站seo上海推广公司
  • 78建筑网官网seo薪资
  • 网站建设 推广 公司百度网页版登录
  • 给别人做网站会连累自己吗上海搜索seo
  • 企业网站建设费用预算网站源码
  • 哈尔滨哪里做网站好新东方小吃培训价格表
  • 腾讯云做的网站会被拦截么整合营销传播方案
  • 网站建设结论与改进网站优化设计的基础是网站基本要素及每个细节的优化
  • c#网站开发技术如何做网站