在http://code.google.com/p/modwsgi/上可以阅读此声明
的mod_wsgi的守护模式将然而,仅可在Apache 2.0或2.2 UNIX上运行,只有当基本的Apache Apache的运行时库已编制与线程支持.
在Windows下不支持守护进程模式的原因是什么?
在得到之后我发现了上述内容
Invalid command 'WSGIDaemonProcess', perhaps misspelled or defined by a module not included in the server configuration
Run Code Online (Sandbox Code Playgroud)
来自Apache的错误.模块的包含不是问题,因为WSGIScriptAlias指令工作正常.我想我得到的错误是由于mod_wsgi的wiki上描述的限制.
我正在开发一个需要调用外部程序的程序,但需要等待它执行.这是在C#中完成的(我是全新的,但在C++,Qt和C方面有很多经验)并且CreateProcess似乎不是我正在寻找的(启动过程,然后忘记它,我不需要).
这是我的第一个Windows项目之一(或者至少只有Windows,当然只有.NET),而且我更习惯于为*nix做这类事情,我会在子项中使用fork然后执行exec,然后等孩子终止.但我不知道在哪里开始寻找这样的事情.
哦,我很确定我被困在.NET中,因为我需要读取访问注册表来完成这个项目,.NET的注册表访问绝对是惊人的(在我看来,我没有任何东西可以将它与).
谢谢.
为什么Windows上没有WSGIDaemonProcess?
我有一个程序,检查服务器上是否有版本更新.现在我必须做类似的事情
if(update_avail) {
system("updater.exe");
exit(0);
}
Run Code Online (Sandbox Code Playgroud)
但无需等待"updater.exe"完成.否则我无法替换我的主程序,因为它正在运行.那么如何执行"updater.exe"并立即退出?我知道*nix方式fork等等,如何在Windows中执行此操作?
我需要能够为一个小项目使用fork().问题是示例代码不起作用:
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
pid_t pID = fork();
if (pID == 0) // child
{
printf("CHILD\n");
// Code only executed by child process
}
else if (pID < 0) // failed to fork
{
printf("FAIL\n");
}
else // parent
{
printf("PARENT\n"); // Code only executed by parent process
}
// Code executed by both parent and child.
system("PAUSE");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
编译器说:"20 D:\ Untitled1.cpp`forb'unclaclared(首先使用这个函数)"
但我已经在互联网上看到它应该位于#include <unistd.h>.
有任何想法吗?谢谢!
我需要编写类似于compiletest的东西.Compiletest通过调用rustc进程并捕获stdout/stderr来工作.我的项目还没有运行二进制文件,所以我需要另一种方法来创建子进程.
我不能使用频道或stdout,因为它不受我的代码控制.