在linux shell上用groovy执行长命令?

时间:2014-03-02 22:12:08

标签: linux bash shell groovy sh

如何用groovy执行长命令? 当我在我的linux终端上执行此命令时,我得到了我想要的进程的正确进程ID。使用groovy我得到一个空的回报。这就是我已经尝试过的:

def p = "ps aux | grep 'unit 1' | grep -v grep | awk '{print $2}'".execute()
p.waitFor()
println p.text // this is empty, but it shouldn't

如何正确执行groovy看起来像?如何在groovy中获得正确的进程ID?

1 个答案:

答案 0 :(得分:2)

它有点像评论中的2个问题,(加上我目前无法找到的其他一些问题),但请尝试:

def cmd = /ps aux | grep 'unit 1' | grep -v grep | awk '{print $2}'/
def out = [ '/bin/sh', '-c', cmd ].execute().text.trim()
println out