【问题标题】:How to execute "load module X" in Perl如何在 Perl 中执行“加载模块 X”
【发布时间】:2013-02-10 10:15:38
【问题描述】:

我在从 Perl 加载内核模块时遇到问题。

我已经试过了:

system ("module load X");

system ´module load X´ 

exec(module load X);

它抱怨

Can't exec "module": No such file or directory

【问题讨论】:

  • 看到这个类似的问题:stackoverflow.com/questions/1127383/…
  • 我已经检查过了,给出的答案是重新分级 bash 脚本而不是 Perl
  • 呃,您提供的所有 sn-ps 都没有提供您所说的输出!或任何输出,因为您没有进行任何错误检查。请修正你的答案。

标签: perl command system


【解决方案1】:

可能想要

use X;

但我想,如果您对为什么 systemexec 不加载模块感到困惑,那么您应该阅读一些关于 Perl 的介绍性材料。

【讨论】:

  • X 它不是 Perl 模块它是内核模块
  • 这当然保证在问题中是有含义的。
【解决方案2】:

正确的函数确实是system

use IPC::System::Simple qw( system );
system("module load X");

(通过使用 IPC::System::Simple 的版本,我们不必做任何错误检查。)

如果内核找不到module,那是因为它不在PATH 中。您可以调整 PATH 或使用可执行文件的完整路径。

system("/path/to/module load X");

当然,我假设您的命令实际上是有意义的,因为我对加载内核模块一无所知。这可能不是一个公平的假设,因为您在一个地方说load module,在另一个地方说module load。仔细检查命令。

【讨论】:

    猜你喜欢
    • 2011-01-18
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    相关资源
    最近更新 更多