質問編集履歴

8

追記

2020/05/29 16:29

投稿

span
span

スコア32

test CHANGED
File without changes
test CHANGED
@@ -97,3 +97,13 @@
97
97
  Groovy 2.4.15
98
98
 
99
99
  java 1.8.0_202
100
+
101
+
102
+
103
+ ---
104
+
105
+ 追記
106
+
107
+
108
+
109
+ ![イメージ説明](79241e7a3f124c6bf2b097ea261a63f1.png)

7

追記

2020/05/29 16:29

投稿

span
span

スコア32

test CHANGED
File without changes
test CHANGED
@@ -89,3 +89,11 @@
89
89
  コンソールに直接 `ps aux | grep \"プロセス名\" | grep -v grep | wc -l` を打ち込むと
90
90
 
91
91
  プロセス起動時には `2` が返り プロセスをkillした状態だと `0` が返ります
92
+
93
+
94
+
95
+ ##バージョン情報
96
+
97
+ Groovy 2.4.15
98
+
99
+ java 1.8.0_202

6

追記

2020/05/29 10:23

投稿

span
span

スコア32

test CHANGED
File without changes
test CHANGED
@@ -84,7 +84,7 @@
84
84
 
85
85
  ```
86
86
 
87
- のように表示されます
87
+ のように表示されます。process.getText()は空のようです。
88
88
 
89
89
  コンソールに直接 `ps aux | grep \"プロセス名\" | grep -v grep | wc -l` を打ち込むと
90
90
 

5

追記

2020/05/28 15:33

投稿

span
span

スコア32

test CHANGED
File without changes
test CHANGED
@@ -55,3 +55,37 @@
55
55
  上記のように.execute()でシェルコマンドの実行は上手くいったのですがif文が上手く動いてくれません。
56
56
 
57
57
  Groovyではこのようなif文の書き方はダメなのでしょうか...?
58
+
59
+
60
+
61
+
62
+
63
+ ---
64
+
65
+ 追記
66
+
67
+ ```
68
+
69
+ def process = "ps aux | grep \"プロセス名\" | grep -v grep | wc -l".execute();
70
+
71
+ println '確認'
72
+
73
+ println process.getText()
74
+
75
+ ```
76
+
77
+ 上記のようにしたところコンソールには
78
+
79
+ ```
80
+
81
+ >>>確認
82
+
83
+ >>>
84
+
85
+ ```
86
+
87
+ のように表示されます
88
+
89
+ コンソールに直接 `ps aux | grep \"プロセス名\" | grep -v grep | wc -l` を打ち込むと
90
+
91
+ プロセス起動時には `2` が返り プロセスをkillした状態だと `0` が返ります

4

追記

2020/05/28 15:32

投稿

span
span

スコア32

test CHANGED
File without changes
test CHANGED
File without changes

3

追記

2020/05/28 12:01

投稿

span
span

スコア32

test CHANGED
File without changes
test CHANGED
File without changes

2

タグ編集

2020/05/28 09:33

投稿

span
span

スコア32

test CHANGED
File without changes
test CHANGED
File without changes

1

追記

2020/05/28 03:19

投稿

span
span

スコア32

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  ```
22
22
 
23
- 上記のように`ps aux | grep "プロセス名" | grep -v grep | wc -l`プロセスを実行中かどうかを判断し、もし実行プロセスが無い場合には`task compile`の中の処理をスキップしたいと考えています。
23
+ 上記のように`ps aux | grep "プロセス名" | grep -v grep | wc -l`プロセスを実行中かどうかを判断し、もし起動プロセスが無い場合には`task compile`の中の処理をスキップしたいと考えています。
24
24
 
25
25
  しかしどのような書き方をすればシェルコマンドから値が取り出せるのかがわかりません。
26
26
 
@@ -29,3 +29,29 @@
29
29
  初歩的なことで大変申し訳ないのですがどのようにすれば取得できるかご教示いただければ幸いです。
30
30
 
31
31
  また、もしももっと良い書き方等ありましたらご指摘いただければ嬉しいです...申し訳ありませんがよろしくお願いいたします。
32
+
33
+
34
+
35
+
36
+
37
+ ---
38
+
39
+ 追記
40
+
41
+ ```
42
+
43
+ compile.doFirst {
44
+
45
+ def bool = 'ps aux'.execute() | 'grep hoge'.execute() | 'grep -v grep'.execute() | 'wc -l'.execute()
46
+
47
+
48
+
49
+ if (bool.text == "0") { throw new StopExecutionException() }
50
+
51
+ }
52
+
53
+ ```
54
+
55
+ 上記のように.execute()でシェルコマンドの実行は上手くいったのですがif文が上手く動いてくれません。
56
+
57
+ Groovyではこのようなif文の書き方はダメなのでしょうか...?