3

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

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

4

1 回答 1

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以获取结果。

于 2012-07-04T17:50:35.843 回答