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

wordpress极客主题厦门seo公司

wordpress极客主题,厦门seo公司,常用网站推广方法,网站排名掉了一、 栈里面有:局部变量、形参、函数的返回地址 并发:多个任务同时运行 1.exit 库函数 退出状态,终止的进程会通知父进程,自己使如何终止的。如果是正常结束(终止),则由exit传…

一、
栈里面有:局部变量、形参、函数的返回地址
    并发:多个任务同时运行

1.exit     库函数
        退出状态,终止的进程会通知父进程,自己使如何终止的。如果是正常结束(终止),则由exit传入的参数。如果是异常终止,则有内核通知异常终止原因的状态。任何情况下,负进程都能使用wait,waitpid获得这个状态,以及资源的回收。
void exit(int status) 
exit(1);
        功能:让进程退出,并刷新缓存区
        参数:status:进程退出的状态
        返回值:缺省
EXIT_SUCCESS 0
EXIT_FAILURE 1

return  当该关键字出现在main函数中时候可以结束进程
如果在其他函数中则表示结束该函数。
exit -> 刷新缓存区 -> atexit注册的退出函数 -> _exit

2.进程空间的回收
    僵尸进程:进程执行结束但空间未被回收变成僵尸进程
    只能父进程回收子进程
pid_t wait(int *status)
    功能:该函数可以阻塞等待任意子进程退出,并回收该进程的状态,一般用于父进程回收子进程状态。
阻塞的原因:对方还没有结束

3.waitpid(-1,status,0) = wait(status)
函数原型:pid_t waitpid(pid_t pid, int *status, int options);
阻塞模式和非阻塞模式---WNOHANG

4.exec族
    exec 执行外部程序,代码段被新程序替换
whereis ls(查看有没有系统里面有没有ls)
1)int execl(const char *path, const char *arg, ...
                       /* (char  *) NULL */);
2)int execlp(const char *file, const char *arg, ...
                       /* (char  *) NULL */);
echo $PATH
3)int execv(const char *path, char *const argv[]);
4)int execvp(const char *file, char *const argv[]);

二、代码与例题
1.wait_status

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdlib.h>int	main(int argc, char **argv)
{pid_t pid = fork();if(pid > 0){printf("father %d\n", getpid());int status;pid_t ret = wait(&status);if (WIFEXITED(status)){printf("son terminal normally, exit value %d\n", WEXITSTATUS(status));}else if (WIFSIGNALED(status)){printf("son termnial by signal, signal value %d\n", WTERMSIG(status));}printf("pid : %d ret : %d\n", pid, ret);}else if (0 == pid){int i = 10;while(i--){printf("son pid : %d\n", getpid());sleep(1);}exit(20);}else{perror("fork");return 1;}//system("pause");return 0;
}

2.waitpid

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdlib.h>
int	main(int argc, char **argv)
{pid_t pid = fork();if(pid > 0){printf("father %d\n", getpid());int status;while(1){pid_t ret = waitpid(pid, &status, WNOHANG);if(ret == pid){if(WIFEXITED(status)){printf("child terminal normally, exit value %d\n ", WEXITSTATUS(status));}else if (WIFSIGNALED(status))  //异常结束{printf("child terminal by signal , signal value %d\n ", WTERMSIG(status));}printf("pid %d ret %d\n", pid, ret);break;}else if (0 == ret)  //还没结束{printf("回收失败,稍后再试\n");}else{printf("回收错误\n");return 1;}}}else if (0 == pid){int i = 10;while (i--){printf("pid:%d child\n", getpid());sleep(1);}exit(20);}else{perror("fork");return 1;}// system("pause");return 0;
}

3.exec族

#include <unistd.h>
#include <stdio.h>
int	main(int argc, char **argv)
{//execl("/usr/bin/firefox", "firefox","www.baidu.com",NULL);//ls -a -l//execl("/bin/ls", "ls","-a","-l",NULL);//execlp("firefox", "firefox","www.baidu.com",NULL);//execl("b.out", "./b.out",NULL);//execlp("./b.out", "b.out", NULL);char *args[] = {"ls","-l","-a","--color=auto",NULL};char *args1[] = {"./b.out",NULL};//execvp(args[0], args);//execv("/bin/ls", args);execv(args1[0], args1);return 0;
}


 

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

相关文章:

  • 旅游网站制作方案网站制作的基本流程是什么
  • 网站seo竞争分析工具已备案域名30元
  • 找人做网站要多少钱什么平台打广告比较好免费的
  • 桂林 网站建站app开发软件
  • mi2设计公司网站西安百度关键词包年
  • wordpress 安装乱码北京seo网络优化招聘网
  • 怎样网站建设seo做的比较好的公司
  • 公司网站设计专业的免费下载百度并安装
  • 政府门户网站网站维护费用一般多少钱
  • 有关外贸的网站有哪些开鲁seo服务
  • 教育培训机构怎么建设网站公司免费推广网站
  • 汝州市住房和城乡规划建设局网站google关键词搜索技巧
  • 顺德高端网站设计韩国搜索引擎排名
  • 东莞临时工最新招聘信息上海关键词优化报价
  • 亿通网站建设南宁seo推广外包
  • 创新的江苏网站建设百度软文推广怎么做
  • 上海网站建设招标网页搜索关键字
  • 建设银行网站驱动站长工具网站测速
  • 广州建筑公司网站网页制作软件推荐
  • 自学建设网站广告接单平台app
  • 太原建站公司模板站长统计软件
  • 做维修家具广告在哪个网站好域名注册官网免费
  • 高台网站建设搜索引擎优化课程
  • html5网站开发教学产品网站推广
  • 新乡公司做网站网络推广是什么职位
  • 怎样建立一个营销网站潍坊seo教程
  • 宁波网站制作与推广微营销推广软件
  • 给别人做网站收多少钱上海优化公司排行榜
  • 仿ugg网站vps搜索引擎是什么意思
  • 移动端快速建站长沙网站关键词排名推广公司