首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么stat()不能从windows服务中工作

为什么stat()不能从windows服务中工作
EN

Server Fault用户
提问于 2011-12-29 09:52:37
回答 1查看 129关注 0票数 0

在windows服务程序中位于共享文件夹中的文件的stat()返回错误-1,并且errno为2 (ENOENT)。

共享文件夹存在的系统和运行服务的系统位于同一域中。使用该域中的帐户的有效用户名/paswd登录到服务。

当同一个程序作为EXE运行时,stat()将成功返回(0)。

为什么行为有区别?如何解决这个问题?

EN

回答 1

Server Fault用户

发布于 2011-12-29 10:09:21

服务由自己的上下文运行。该上下文不包括对特定用户拥有的任何共享的访问。这不是权限问题,而是名称空间问题。

有很多可能的解决办法。一个是运行网络服务帐户下的服务。另一种方法是让服务用适当的系统呼叫复制挂载本身。

我喜欢的解决方法是使用在用户的应用程序上下文中运行的助手进程。助手进程可以代表服务执行所有文件I/O。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/344970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档