【发布时间】:2016-07-06 05:23:19
【问题描述】:
我在 Apache、Linux 中使用 c++ 进行简单的 Web 编程。我创建了一个名为signup.cgi 的cgi 脚本。该程序从浏览器获取输入并将数据写入名为users.txt 的文件中。
我的问题是,当两个用户访问signup.cgi 时,会创建两个不同的进程还是只创建一个进程?
案例1:访问users.txt会是两个不同的进程吗?
User1 ----> singup.cgi -----> Pid1 ----> users.txt
User1 ----> singup.cgi -----> Pid2 ----> users.txt
(或)
案例2:会不会只有一个进程访问users.txt?
User1 ----> singup.cgi -----> Pid1 ----> users.txt
User1 ----> singup.cgi -----> Pid1 ----> users.txt
如果是两个不同的进程同时访问users.txt,users.txt中的数据将会损坏。我该如何处理这个问题?
如果只有一个进程访问users.txt,不知道会遇到什么问题?
【问题讨论】:
-
你尝试过,将 pid 写入文件吗?
-
你的意思是在 users.txt 中吗?
-
没错!或在日志文件中
-
@Christophe:我从你的问题中理解了这个概念。谢谢。
-
我认为,并且很高兴得到纠正,您的问题的答案是,这取决于您的网络服务器的设置方式。一般来说,简单的情况下,每个客户端都会有不同的进程,但如果你使用
FastCGI或类似的,两个用户可以由单个进程的线程处理。
标签: c++ parallel-processing cgi