我试图将nginx(反向代理)作为Windows服务运行,这样即使用户没有连接也可以代理请求.
我搜索了很多,发现winsw可以从.exe文件(如nginx)创建服务.
我发现许多在线教程说如下创建一个xml文件
<service>
<id>nginx</id>
<name>nginx</name>
<description>nginx</description>
<executable>c:\nginx\nginx.exe</executable>
<logpath>c:\nginx\</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-p c:\nginx</startargument>
<stopargument>-p c:\nginx -s stop</stopargument>
</service>
Run Code Online (Sandbox Code Playgroud)
(我在一个名为nginx的文件夹中将nginx.exe放在c:o路径正确的位置).
现在问题是服务已经创建,但我似乎无法启动它,每次我尝试启动它时,一个窗口弹出说
Error 1053: The service didn't respond to the start or control request in a timely fashion
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个或不同的方式运行nginx作为窗口服务?
如果我有一个如下分配的2D数组:
int** map;
map = malloc(number * sizeof(int*));
if(!(map)){
printf("out of memory!\n");
return 1;
}
for (int i = 0; i < number; i++){
map[i] = malloc(number * sizeof(int));
if (!(map[i])){
printf("Not enough memory!\n");
return 1;
}
}
Run Code Online (Sandbox Code Playgroud)
如果分配失败并且我们输入if语句我应该释放map和直到现在分配的"列"吗?如果是这样,我该怎么办?
现在我只打印消息并返回1,但我不确定这是否是正确的方法.