gpt4 book ai didi

windows - 在 Windows7 中从 c# 代码执行时 Hadoop 命令不工作,错误显示 : "Access is denied"

转载 作者:可可西里 更新时间:2023-11-01 16:14:02 25 4
gpt4 key购买 nike

我正在使用 winutils.exe task create ip ipconfig 从 cmd 以管理员权限执行 Hadoop 命令并显示结果。但是,如果我在具有管理员权限的 C# 程序中尝试相同的操作,则会显示 Access is denied 错误。

错误:

C:Hadoop\bin>winutils.exe task create ip ipconfig

createTask error (5): Access is denied.

最佳答案

问题出在 WinUtils.exe 上。 WinUtils.exe 在 task.c 文件的 createTask() 方法中使用了 AssignProcessToJobObject()

在 Windows 7 中,如果 Jobobject 已经分配了一个进程,则“AssignProcessToJobObject”无法分配一个新进程并返回“Access Denied”消息。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms681949(v=vs.85).aspx因此,当您以编程方式调用 exe 时,可能已经为 jobObject 分配了一个 ProcessHandle,然后该 ProcessHandle 从“AssignProcessToJobObject”函数返回“Access Denied”。

修复:检查 JobObject 是否有任何关联的进程,并且仅当 jobObject 未分配给任何进程时才分配新进程。确保您的更改仅适用于 Windows 7 环境,并让默认代码用于 Windows 8 和更高版本的环境。

希望这对您有所帮助。

关于windows - 在 Windows7 中从 c# 代码执行时 Hadoop 命令不工作,错误显示 : "Access is denied",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25905439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com