我正在尝试编写一个简单的程序来启动一些qstat命令,并整理一些相关信息。
这样做的第一步是运行一些简单的
qstat -u '*'
然后我可以解析当前正在运行的作业(似乎不是一个简单的方法来列出工作ID)
从终端运行时,此命令完全正常。我的问题是,当通过Scala进程运行时,此命令似乎不起作用:
scala> import scala.sys.process._
scala> val qstatOutput = "qstat -u '*'" !!
qstatOutput: String = ""
这特别令人困惑,因为如果我添加-f
,输出就可以正常工作:
scala> val qstatOutput = "qstat -f -u '*'" !!
qstatOutput: String = "queuename qtype resv/used/tot. load_avg arch states..."
有谁能说明为什么这可能不起作用?
答案 0 :(得分:2)
有工作吗?默认情况下,如果没有作业正在运行,qstat -u '*'
将不报告任何内容,而qstat -f -u '*'
将报告每个队列/主机组合的统计信息行。
编辑:添加标记。