Process proc1 ='sh -c ps -ef'.execute();
Process proc2 ='sh -c grep sleep.sh '.execute();
Process proc3 ='sh -c grep -v grep '.execute();
Process proc4 ='sh -c awk sleep.sh '.execute();
Process all = proc1 | proc2 | proc3 | proc4;
// I tried this too and this didnt work
//println( [ 'sh', '-c', 'ps -ef | grep "sleep.sh" | grep -v "grep" | awk "sleep.groovy" ' ].execute().text )
//also tried without the awk
println all.text;
好的,所以我要做的是 ps 我制作的 shell 脚本 (sleep.sh) [它所做的一切都是休眠一段时间]。不太确定该怎么做。这是我最好的猜测^^
结果:
-sh-3.2$ ./callGroovy.sh testSleep.groovy
-sh-3.2$
不打印任何东西,也不给我任何东西(callGroovy 是我用来调用我的 groovy 脚本的 shell 脚本)
-sh-3.2$ ps -ef | grep "sleep.sh" | grep -v "grep"
wasadmin ***** ***** 0 **:** pts/1 **:**:** /bin/bash ./sleep.sh
(所有*都是数字)
当我只用 grep 和 ps 尝试脚本时,它也没有给我这个输出。有什么建议么?..PS 我也尝试过在 groovy 脚本中使用和不使用引号。没想到会有所作为,但值得一试