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

1688网站怎样做推广深圳网站建设维护

1688网站怎样做推广,深圳网站建设维护,金融网站如何做设计方案,天津网站建设渠道相关函数 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/442364.html

相关文章:

  • 如何 html5 网站惠州百度seo
  • 为什么网站只能显示ip地址_不能显示域名 wordpress百度小程序优化排名
  • 阿坝北京网站建设代运营公司前十名
  • 蓝色风格的网站站长之家排名查询
  • wordpress个人网站赚钱软文营销网
  • 郑州荥阳市疫情最新消息深圳seo公司
  • 靠做任务赚零花钱的网站国内免费域名注册
  • 百度蜘蛛不爬取网站直通车推广怎么做
  • 关于网站建设管理的通知微营销推广平台有哪些
  • 昆山公司做网站seo公司是什么
  • 傻瓜一键自助建站系统如何推广小程序平台
  • 哈尔滨网站建设服务百度网站怎么优化排名
  • 教你做网站的视频公司网站推广运营
  • 百度网站怎么做友情链接铁力seo
  • 做网站还是软件网站软件下载app
  • 保定网站制作哪家好建设免费舆情监测平台
  • 网站开发html文件规范seo教育培训机构
  • 自己做网站怎么赚钱百度认证官网申请
  • 注册公司费用会计分录深圳seo推广公司
  • qq空间做宣传网站石家庄今天最新新闻头条
  • 青海省公路建设市场信用信息服务网站百度资源搜索资源平台
  • wordpress中文名字注册兰州seo实战优化
  • 中国建设银行天津分行网站代码优化
  • 网站产品展示方案网址查询域名解析
  • 广西网站建设企业bt磁力搜索
  • wordpress 随机广告惠州百度推广优化排名
  • 织梦dede模板自带的网站地图优化指南方象科技服务案例
  • 广州网站建设吧成都网站维护
  • 销售型网站模板千锋教育培训
  • 国外网站三维特效教程百度搜索引擎优化方案