SSI / PHP exec命令在响应发送回时终止,对吗?

时间:2012-07-04 17:41:58

标签: php process exec sli

假设我有一个使用exec的SSI脚本,或者使用exec或proc_open的PHP脚本,当用户从浏览器向我的服务器发送一些数据时启动进程。我是否正确当服务器完成处理请求并将响应发送回服务器时,此生成的进程将终止?无论我使用SSI还是PHP,生成的进程都将在此时终止,对吧?

因此,没有办法在不同的请求之间“保持进程存活”,所以如果我想在后续请求中与同一进程进行交互,我需要编写一个守护进程程序?

1 个答案:

答案 0 :(得分:2)

实际上,让流程保持活力非常简单,我们会一直这样做:

创建一个类似

的shellscript(wrapper.sh)
#!/bin/bash
/path/to/some/process < /dev/zero > "$1" &
echo "Blah"

我们发现在某些系统上需要echo "Blah"

使用wrapper.sh "/path/to/output/file"生成流程,它几乎会立即返回 - 在稍后的脚本调用中,您可以阅读/path/to/output/file以获得结果。