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

阿里巴巴建网站做宾馆网站好

阿里巴巴建网站,做宾馆网站好,正规品牌网站设计推荐,外贸平台哪个网站最好知乎昨天学了进程控制#xff0c;就这三种特殊的进程研究了一下#xff0c;其中也借鉴了一些前人总计的经验。 1、孤儿进程 如果父进程先退出,子进程还没退出那么子进程将被 托孤给init进程,这里子进程的父进程就是init进程(1号进程).其实还是很好理解的。 // 父进程先子进程退…昨天学了进程控制就这三种特殊的进程研究了一下其中也借鉴了一些前人总计的经验。 1、孤儿进程 如果父进程先退出,子进程还没退出那么子进程将被 托孤给init进程,这里子进程的父进程就是init进程(1号进程).其实还是很好理解的。 // 父进程先子进程退出 // 子进程会被祖父进程接手并在后台运行执行内部的代码 int main() {pid_t pid fork();switch (pid){case -1:perror (fork);break;case 0: // 子进程close (1);// 创建一个文件用来保存输出的文字int fd open (child, O_RDWR|O_CREAT, 0777);printf (我是子进程我的ID是%d\n, getpid());while (1){printf (找爸爸\n);fflush (stdout);sleep (2);}break;default: // 父进程printf (我是父进程ID %d\n, getpid());printf (我走啦\n);while (1);break;}return 0; } 在这里我们运行了程序可以在另一终端看到有2个a.out在运行我们将父进程终止子进程并没有退出而是在后台继续运行并向child文件中输出文字。 2、僵尸进程 如果我们了解过Linux进程状态及转换关系,我们应该知道进程这么多状态中有一种状态是僵死状态,就是进程终止后进入僵死状态(zombie),等待告知父进程自己终止,后才能完全消失.但是如果一个进程已经终止了,但是其父进程还没有获取其状态,那么这个进程就称之为僵尸进程.僵尸进程还会消耗一定的系统资源,并且还保留一些概要信息供父进程查询子进程的状态可以提供父进程想要的信息.一旦父进程得到想要的信息,僵尸进程就会结束. // 子进程比父进程先退出 int main() {int count 5;while (count--){//signal(SIGCHLD,SIG_IGN);pid_t pid fork();switch (pid){case -1:perror (fork);break;case 0: // 子进程printf (我是子进程我的ID是%d\n, getpid());printf (我走啦\n);exit (0);default: // 父进程printf (我是父进程我的ID是%d\n, getpid());//while(1);break;}}while(1);return 0; }signal(SIGCHLD,SIG_IGN);加上这行代码后僵尸进程都消失了。 通过ps -ef | grep a.out 我们可以得知进程信息和进程pid,可以看到子进程就是处于defunct状态.这时我们肯定想要怎么才能避免僵尸进程呢?看程序被我注释的那句signal(SIGCHLD,SIG_IGN),加上就不会出现僵尸进程了.那我们就加点篇幅讲一下为什么就可以避免僵尸进程呢? 这是signal()函数的声明sighandler_t signal(int signum, sighandler_t handler),我们可以得出,signal函数的第一个函数是linux支持的信号,第二个参数是对信号的操作 ,是系统默认还是忽略或捕获.我们这是就可以知道signal(SIGCHLD,SIG_IGN)是选择对子程序终止信号选择忽略,这是僵尸进程就是交个内核自己处理,并不会产生僵尸进程. 3、守护进程 同样我们需要了解一下什么是守护进程,守护进程就是在后台运行,不与任何终端关联的进程,通常情况下守护进程在系统启动时就在运行,它们以root用户或者其他特殊用户(apache和postfix)运行,并能处理一些系统级的任务.习惯上守护进程的名字通常以d结尾(sshd),但这些不是必须的. 下面介绍一下创建守护进程的步骤 · 调用fork(),创建新进程,它会是将来的守护进程. · 在父进程中调用exit,保证子进程不是进程组长 · 调用setsid()创建新的会话区 · 将当前目录改成跟目录(如果把当前目录作为守护进程的目录,当前 目录不能被卸载他作为守护进程的工作目录) · 将标准输入,标注输出,标准错误重定向到/dev/null // 守护进程 int daemonize (int nochdir, int noclose) {// 创建子进程关闭父进程pid_t pid fork();if (pid 0) // 父进程{exit (0);}else if (pid 0){return -1;}// 2、设置文件的掩码mode ~umaskumask (0);// 3、设置新的会话:脱离当前会话和终端的控制if (setsid() 0){return -1;}// 当nochdir为0时daemon将更改进程的根目录为rootif (0 nochdir){// 改变当前的工作目录if (chdir (/) 0){return -1;}}// 标准输入、关闭标准输出、标准错误close (STDIN_FILENO);close (STDOUT_FILENO);close (STDERR_FILENO);if (0 noclose){// 重定向标准输入、关闭标准输出、标准错误open (dev/null, O_RDONLY); // 0open (dev/null, O_RDWR); // 1open (dev/null, O_RDWR); // 2}return 0; }int main() {daemonize (0, 0);// daemon (0,0); // 系统自带守护进程while (1);return 0; }
http://www.pierceye.com/news/92855/

相关文章:

  • 查询网站收录命令用wordPress搭建图片库
  • 网站开发的验收标准给几个网址谢谢
  • 手表网站大全网络推广竞价
  • 中创高科官方网站wordpress 页面添加js
  • 平台网站怎么做专业网站设计公司排名
  • 网站开发公司 重庆百度seo标题优化软件
  • wordpress 导入主题网站建设优化广告流量
  • 网店装修网站房屋装修设计费一般多少
  • 微信公众平台制作网站设计网站页面要怎么切图
  • 个人网站 备案 类型小红书笔记推广
  • 门户网站怎么创建网页制作步骤php
  • 六师五家渠市建设局网站wordpress 定时发布插件
  • 深圳外贸网站外贸网站建设安阳网站建设服务
  • wdcp 网站建设做民宿推广都有哪些网站
  • 常见的网站开发环境网站建设的结构
  • 贵阳网站推广优化公司做网站的公司搞什么活动
  • 安徽平台网站建设制作坪山网站设计的公司
  • 如何做挂qq的网站2017网站建设
  • wordpress语言切换网站保定广告设计公司
  • 做网站需要走公司吗运行一个网站要多少钱
  • 怎样可以免费做网站wap网站软件
  • 织梦手机网站免费模板漳州城乡建设局网站
  • 厦门建设网站的公司php除了写网站吗
  • 如何做全网影视网站居然之家装修公司怎么样
  • 佛山网站建设公司哪家最好万能软文范例800字
  • 网站排名优化如何做wordpress 免费版广告
  • 拓客网站建设建易网官网
  • 网站目录链接怎么做的建网站pc版 (报价)
  • 北京网站制作业务如何开展做网站海报
  • 网站的设计方法有哪些互动网络游戏公司网站建设