回答編集履歴

1

正しい処理ではなかったので修正

2020/05/29 15:53

投稿

YT0014
YT0014

スコア1750

test CHANGED
@@ -33,3 +33,39 @@
33
33
 
34
34
 
35
35
  [Groovy Documents](https://docs.groovy-lang.org/latest/html/groovy-jdk/java/lang/package-summary.html)
36
+
37
+
38
+
39
+ 追記:検証結果を受けて
40
+
41
+ 色々試してもらった結果、以下のコードで、ご要望の処理が行えそうです。
42
+
43
+
44
+
45
+ ```Groovy
46
+
47
+ compile.doFirst {
48
+
49
+ def process = 'ps aux'.execute() | 'grep プロセス名'.execute() | 'grep -v grep'.execute() | 'wc -l'.execute()
50
+
51
+
52
+
53
+ def result = process.getText()
54
+
55
+
56
+
57
+ if (result.equals("0")) {
58
+
59
+ throw new StopExecutionException()
60
+
61
+ }
62
+
63
+ }
64
+
65
+ ```
66
+
67
+ ドキュメントからは読み取れなかったのですが、getText()は、呼び出す度に値が変わる可能性が高いので、呼出しは1度だけ。
68
+
69
+ 文字列の比較なので、equals()を用いる。
70
+
71
+ 呼出し処理に掛かる時間が十分短いか、getText()で処理待ちをしているかしているようなので、waitForOrKill()は不要と思われます。