zoukankan      html  css  js  c++  java
  • 守护进程因echo挂掉的原因,以及重定向标准输入、标准输出和标准错误

    我自己的理解:

    守护进程必然是要脱离终端的,而echo需要有标准输出,如果守护进程关闭了标准输出,或者关闭了终端,却没有重定向标准输出,那么,此时,在进程里进行echo,就会找不到标准输出而挂掉。

    在php cli 的守护进程中,重定向标准输入,标准输出和标准错误。

    1 fclose(STDIN);
    2 fclose(STDOUT);
    3 fclose(STDERR);
    4 
    5 global $STDIN,$STDOUT, $STDERR;
    6 $STDIN   = fopen("/dev/null","r");
    7 $STDOUT  = fopen("/var/log/stdout.log","wb");
    8 $STDERR  = fopen("/var/log/stderr.log","wb");

    在类似Unix的系统中,如果关闭了标准输出,标准错误输出文件描述符,那么重新打开的前三个文件描述符(相同顺序)将成为新的标准输入、输出、错误的描述符。

    其中,变量设置成全局变量,避免在其它地方被释放掉。

    来源:https://stackoverflow.com/questions/6472102/redirecting-i-o-in-php

  • 相关阅读:
    jsp报源码
    c#简单写售票系统
    linux常用命令大全[转]
    【转载】大型网站渗透思之信息收集
    Ajax初窥
    屏蔽win10中文输入法
    win10禁止更新的方法
    win10进入到安全模式的三种方法
    7代CPU安装win7的方法
    python的输出问题
  • 原文地址:https://www.cnblogs.com/undefined-j/p/14597825.html
Copyright © 2011-2022 走看看