2013-02-25 19 views
0

我在從Perl加載內核模塊時遇到問題。如何在Perl中執行「加載模塊X」

我已經嘗試:

system ("module load X"); 

system ´module load X´ 

exec(module load X); 

它抱怨

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

看到類似的問題:http://stackoverflow.com/questions/1127383/how-to-issue-module-load-in-a-shell-or-perl-script-ie-non -interactively – 2013-02-25 11:03:08

+0

我有已經檢查了這個,給出的答案是重新編寫bash腳本,而不是Perl – user1876128 2013-02-25 11:13:17

+0

恩,你給出的片段沒有給出你說的你的輸出!或者任何輸出,因爲你沒有做任何錯誤檢查。請修復你的答案。 – ikegami 2013-02-25 11:30:52

回答

1

可能

use X; 

但我想,你應該閱讀如果Perl的一些introductionary材料你正在努力爲什麼systemexec不加載模塊。

+0

X它不是Perl模塊,它是內核模塊 – user1876128 2013-02-25 09:50:57

+3

這當然可以保證在問題中被表達。 – 2013-02-25 10:28:01

1

正確的功能確實是system

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

(通過使用IPC ::系統::簡單的版本中,我們沒有做任何錯誤檢查。)

如果內核找不到module,這是因爲它不是在路徑。您可以調整PATH或使用可執行文件的完整路徑。

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

當然,我假設你的命令實際上是有道理的,因爲我對加載內核模塊一無所知。這可能不是一個合理的假設,因爲你在另一個地方說load modulemodule load。仔細檢查命令。