无法打开输出文件,权限被拒绝
Posted
技术标签:
【中文标题】无法打开输出文件,权限被拒绝【英文标题】:Cannot open output file, permission denied 【发布时间】:2011-10-16 01:36:03 【问题描述】:所以我在尝试使用 CodeBlocks 编译 C++ 代码时不断收到此错误。
无法打开输出文件 [filename.exe] 权限被拒绝
今天才开始,而且是零星的和不一致的。如果我关闭 CodeBlocks 并重新启动项目,它通常会消失,但并非总是如此。有时,当我按 F9(构建和运行)几次时,它甚至会消失。我总是检查任务管理器,但从来没有任何 .EXE 以我的文件名运行,或者与之相关的任何内容。
我还注意到,如果出现此问题,然后我尝试手动删除 .EXE 或以其他方式与之交互,Windows 会告诉我需要管理员权限才能这样做(这是一台私人 PC,并且就我知道我是它的管理员)。
第一次发生这种情况时,我添加到代码中的唯一内容是在之前版本中添加的内容是发送给 cout 的调试报告——几乎没有什么神秘的东西。即使没有从以前的版本更改代码,有时也会发生这种情况。
这可能是什么?这不是破坏游戏,但它很烦人,我宁愿它没有变得更糟。
编辑:这已经过时了,但以防万一其他人遇到类似问题,我目前使用的解决方法是在尝试再次运行代码之前始终删除 [filename.exe]。这避免了这个问题,虽然它很烦人。
【问题讨论】:
【参考方案1】:此错误通常发生在 IDE 由于崩溃或其他故障而出现问题时,它仍然保留在 EXE 上,从而阻止用户(您自己)在重建期间覆盖/删除 EXE。
【讨论】:
【参考方案2】:您可以使用 sysinternals 的进程资源管理器来查找打开文件的进程。
【讨论】:
【参考方案3】:检查“filename.exe”是否未运行,我猜您使用的是 Microsoft Windows,在这种情况下,您可以使用任务管理器或进程资源管理器:http://technet.microsoft.com/en-us/sysinternals/bb896653 在尝试生成之前杀死“filename.exe” .
【讨论】:
它不一定要运行,另一个进程可以有一个打开的句柄,Process Explorer 是这类工作的首选武器【参考方案4】:我遇到了和你一样的问题。我发现它可能与您终止运行结果的方式有关。当您运行代码时,无论它是否有打印输出,调试器都会调用控制台打印“按任意键继续...”。如果通过按键终止控制台,就可以了;如果您通过单击关闭按钮来执行此操作,那么问题就如您所描述的那样。当您以后一种方式终止它时,您必须等待几分钟才能重新构建代码。
【讨论】:
【参考方案5】:尝试重新启动您的 IDE。它对我有用。 尽管我试图在任务管理器中结束该进程,但该进程从未被杀死。
【讨论】:
【参考方案6】:您好,我知道这篇文章已经过时了,但无论如何,这是我的看法。 当您使用关闭图标而不是按“任意键继续”关闭控制台输出窗口时会出现此错误
【讨论】:
【参考方案7】:我在D盘重新安装了C::B,而我的程序文件夹在C盘
我不知道原因,但它有效:)
【讨论】:
【参考方案8】:问题与 Sam 的回答有关:
"遇到了和你一样的问题,我发现可能有 与您终止运行结果的方式有某种关系。当你 运行你的代码,无论它是否有打印输出,调试器都会调用 控制台打印“按任意键继续...”。如果您终止 控制台按键,没问题;如果你点击关闭 按钮,问题如你所描述。当你终止它时 后一种方式,您必须等待几分钟才能 重建你的代码。”
避免杀死进程,我们有两种选择,等到进程释放.EXE文件,否则重启IDE会更快解决这个问题。
【讨论】:
这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。 我的回答是:“避免杀死进程,我们有两种选择,等到进程释放.EXE文件,否则这个问题会更快地重新启动IDE解决。”再读一遍…… @Elanasys 如果我误解了您的回答,我很抱歉。这被标记为“质量非常低”,我是从审核队列中来到这里的。您可能需要考虑稍微扩展您的答案,因为就目前而言,这取决于 Sam 的答案是否完全清楚。无论哪种方式,都没有必要对我的一个答案投反对票。 还要考虑您的“答案”作为对 Sam 帖子的评论会更好,因为目前看来,它似乎没有直接回答问题。【参考方案9】:对于 Linux 操作系统... 转到您创建文件的文件。然后通常 ......project_name/bin/Debug/project_name.executable 对于这个可执行文件,您将没有执行权限,然后是执行权限。如果您无法更改权限,请右键单击,然后使用打开终端(命令提示符) 更改权限。 首先使用'cd'命令进入那个可执行文件然后使用“chmod u+x”然后权限将会改变。然后去c::b打开并执行你会得到输出。
只有你需要做的所有文件的事情。
【讨论】:
【参考方案10】:问题是您没有访问它的管理员权限,因为正在基本 C 驱动器中运行或编译某些东西。要消除此问题,请以管理员身份运行 devcpp.exe。您还可以更改属性的权限,并允许系统和系统的访问读写修改等。
【讨论】:
【参考方案11】:好吧,一旦我遇到了同样的问题,并且在追踪使文件处于使用状态的过程后,我发现它是防病毒 (PANDA) ...我刚刚解锁了文件并简单地解决了.. ..根据我的经验,我使用了 Unlock 1.9.2 ...尝试一下 ..
【讨论】:
【参考方案12】:我也遇到了同样的问题。而且我经历过,当我运行程序并更改一些代码而没有完成仍在运行的程序时,总是会发生这种情况。之后出现“无法打开...”消息。
但是我通过单击控制台窗口右上角的“终止”按钮(红色按钮)然后“删除所有终止的启动”(终止旁边的两个 x'es按钮)。 这似乎关闭了正在运行的程序,之后一切正常:)希望这可以帮助任何人
【讨论】:
【参考方案13】:我也遇到了同样的问题,这让我发疯了:
Windows7 64 位、MinGW、Eclipse、CDT
权限被拒绝错误、可执行文件消失、ld.exe 错误。它会工作一次,但再也不会了。 像这样的语句:“无法打开输出文件***.exe:权限被拒绝”
检查您的防病毒软件。一旦我关闭了工作区中的防病毒软件,然后清理了工作区并重新启动项目,我就再也没有遇到过问题。
【讨论】:
【参考方案14】:确保在“管理员模式”下运行 7zip 以解压到程序文件。
此外,过去暂时关闭病毒保护对某些人有用。
【讨论】:
【参考方案15】:造成这种情况的主要原因(我最近遇到过)是如果你有这个,例如闪存驱动器。
您可以开发和做任何事情,但在大多数系统上,它会阻止您从那里运行 .exe 文件,无论是调试版本还是发布版本。
【讨论】:
【参考方案16】:我尝试了@willll 所说的,它奏效了。我没有找到以我的项目命名的确切 .exe,但我确实杀死了一些看起来很奇怪的任务(在互联网上检查后它们并不重要),并且它起作用了。
【讨论】:
【参考方案17】:我已尝试在任务管理器结束任务 IDE 后获取输出。稍后清除驱动器中的所有临时文件。启动你的 IDE。现在您的 .exe 运行良好。
【讨论】:
【参考方案18】:就我而言 - 我发现了一个名为
的进程cb_console_runner
我停止了这个过程,一切又好了。
【讨论】:
【参考方案19】:我遇到了同样的问题。只需将您的 .CPP 文件重命名为其他名称,然后再试一次。 它对我有用。
【讨论】:
以上是关于无法打开输出文件,权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
“无法打开流或文件“laravel.log”:无法打开流:权限被拒绝”
我收到错误日志文件的消息“无法打开流或文件“.../laravel.log”:无法打开流:权限被拒绝” [重复]
无法打开流或文件“/app/storage/logs/laravel.log”:无法打开流:权限被拒绝
xampp ubuntu laravel 无法打开流或文件“/storage/logs/laravel log”:无法打开流:权限被拒绝