当前位置: 首页 > 面试题库 >

从R运行.exe:Linux而非Windows上的状态127警告

陶成化
2023-03-14
问题内容

我正在.exe使用R从R 调用system("script.exe object")

我懂了Warning: running command had status 127。我知道这意味着.exe找不到该文件。

我在窗户上。当我使用它shell而不是system它的魅力时。但是,我正在设计一个Shiny应用程序,该应用程序将部署在Linux环境(shinyapps.io)中。这就是为什么我需要使用system

编辑

在Windows上,它可以system(paste("cmd.exe /c", "script.exe object"), intern = FALSE, wait = TRUE)按照此处的建议使用。但是当我在Linux上部署应用程序时却没有。

暗示

在Windows本地上,如果我systemsystem2:替换system2(paste("cmd.exe /c", "script.exe object"), wait = TRUE),它会status 127发出警告,并且 输出与在Linux上部署的应用程序中
输出完全相同

在此处创建可复制的示例很困难,但是如果需要,我可以尝试。请告诉我。

上下文:基本上.exe是一个黑匣子(编译的C++代码),它使用.txt文件作为输入并输出另一个.txt文件。我正在使用R将.txt文件转储到当前工作目录中,然后回读由.exe(在.exe存储该文件的当前工作目录中创建的)生成的.txt文件。


问题答案:

问题实际上源于以下事实:.exe文件仅是Windows的可执行文件。它在Linux环境中不是开箱即用的(您可以使用WINE,但是在我的情况下这是不可能的,因为我是从R内部调用可执行文件的,我sudo在虚拟机所使用的虚拟机上没有任何权限或任何权限。我的应用的主机)。因此,我在Linux虚拟机上编译了使用g
编写的c 代码,并使用了.out文件而不是.exe

然后在我的R脚本中,我只需要以下两个调用:

system("chmod a+x script.out") # to make Linux understand that the file is an executable system("./script.out object") # to run the script



 类似资料:
  • 问题内容: 我已经为ubuntu编写了upstart脚本,以手动或在启动时启动我的node.js服务器。但是它总是以状态127终止,我找不到有关发生问题的更多信息。如果我手动执行它,那么它就可以工作,而且我还在ubuntu 12.10上对其进行了测试,在这里它也可以工作…它仅在ubuntu 10.04(我正在使用的生产服务器)上无法工作。 剧本: 任何想法在哪里可以找到有关状态127的更多信息?或

  • 运行状态 添加激活注册中心后,可以查看当前注册中心所有运行实例信息。 可以通过操作按钮对运行实例进行熔断与恢复操作。 可以查看所有从库信息,并进行从库禁用与恢复操作。

  • 问题内容: 我在Ubuntu 13.10机器上安装XML和RCurl时遇到麻烦。我今天执行了所有sudo更新和升级。 我正在尝试将拨浪鼓用于R。我无法安装使用拨浪鼓所需的“ XML”。一年后,这里几乎是同一问题,只是操作系统不同。以下是我返回的错误消息: 不太确定如何从这里继续。 问题答案: 在Ubuntu上安装curl和xml。跑 R中安装的软件包上的错误消息表示curl和xml库不存在或找不到

  • 说明服务器遇到内部错误(无法编译jsp类:在生成的java文件第14行发生错误,只能导入一个类型。MyPack.sou解析为一个包;在jsp文件第18行发生错误:/web/index.jsp sou无法解析为类型15: webapps app _index.jsp _WEB-INF ......._classes ......._mypack .........sou.class,test.war

  • 程序运行状态 对于用户程序而言,中断的处理应当是不留任何痕迹的:只要中断处理改动了一个寄存器,都可能导致原本正在运行的线程出现错误。因此,在处理中断之前,必须要保存所有可能被修改的寄存器,并且在处理完成后恢复。因此,我们需要保存所有通用寄存器,sepc、scause 和 stval 这三个会被硬件自动写入的 CSR 寄存器,以及 sstatus。因为中断可能会涉及到权限的切换,以及中断的开关,这些

  • 我在尝试从Java运行R脚本时遇到了一个问题。我真的在互联网上寻找这个问题的答案,但什么都不管用。 求你帮帮我 这是java代码 以下是当我添加Runtime.getRuntime(). exec("Rcript"rScriptFileName)时抛出的错误消息: