Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我有一个使用 exec 的 SSI 脚本,或者一个使用 exec 或 proc_open 的 PHP 脚本,以便在用户从浏览器向我的服务器发送一些数据时启动一个进程。我是否正确,当服务器完成处理请求并将响应发送回服务器时,这个生成的进程将终止?无论我使用 SSI 还是 PHP,生成的进程都会在此时终止,对吗?
因此,没有办法在单独的请求之间“保持进程活跃”,所以如果我想在后续请求中与同一个进程交互,我需要编写一个守护程序吗?
实际上,让进程保持活动状态非常简单,我们一直都在这样做:
创建一个shellscript(wrapper.sh),如
#!/bin/bash /path/to/some/process < /dev/zero > "$1" & echo "Blah"
我们发现echo "Blah"在某些系统上是必要的。
echo "Blah"
使用 生成进程wrapper.sh "/path/to/output/file",它几乎会立即返回 - 在以后的脚本调用中,您可以阅读/path/to/output/file以获取结果。
wrapper.sh "/path/to/output/file"
/path/to/output/file