假设我有一个使用exec的SSI脚本,或者使用exec或proc_open的PHP脚本,当用户从浏览器向我的服务器发送一些数据时启动进程。我是否正确当服务器完成处理请求并将响应发送回服务器时,此生成的进程将终止?无论我使用SSI还是PHP,生成的进程都将在此时终止,对吧?
因此,没有办法在不同的请求之间“保持进程存活”,所以如果我想在后续请求中与同一进程进行交互,我需要编写一个守护进程程序?
答案 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
以获得结果。