質問編集履歴

3

解決策の追記

2021/02/18 05:09

投稿

MasatoN
MasatoN

スコア0

test CHANGED
File without changes
test CHANGED
@@ -301,3 +301,61 @@
301
301
  ```
302
302
 
303
303
  上のコマンドの結果として、Slack上でHubotが起動したのを確認できたので、問題はpibot.service側にあるのではないかと考えています。ただ、その解決策はまだ見つかりません。
304
+
305
+
306
+
307
+ **3.run_hubot.shの編集**
308
+
309
+ アドバイスを受けて、run_hubot.shにexit 0を追記してみましたが、同様のエラーが出てしまいました。
310
+
311
+ /home/pi/hubot/pibot/bin/run_hubot.sh
312
+
313
+ ```ここに言語を入力
314
+
315
+ #!/bin/sh
316
+
317
+ cd /home/pi/hubot/pibot
318
+
319
+ sudo -u pi bin/hubot --adapter slack
320
+
321
+ exit 0
322
+
323
+ ```
324
+
325
+ ```ここに言語を入力
326
+
327
+ $cd /etc/systemd/system
328
+
329
+ $sudo systemctl daemon-reload
330
+
331
+ $sudo systemctl start pibot.service
332
+
333
+ $systemctl status pibot
334
+
335
+ ● pibot.service - pibot service
336
+
337
+ Loaded: loaded (/etc/systemd/system/pibot.service; enabled; vendor preset: en
338
+
339
+ Active: failed (Result: exit-code) since Thu 2021-02-18 14:02:25 JST; 18s ago
340
+
341
+ Process: 1533 ExecStart=/home/pi/hubot/pibot/bin/run_hubot.sh (code=exited, st
342
+
343
+ Main PID: 1533 (code=exited, status=203/EXEC)
344
+
345
+
346
+
347
+ 2月 18 14:02:25 raspberrypi systemd[1]: pibot.service: Failed with result 'exit
348
+
349
+ 2月 18 14:02:25 raspberrypi systemd[1]: pibot.service: Service RestartSec=100ms
350
+
351
+ 2月 18 14:02:25 raspberrypi systemd[1]: pibot.service: Scheduled restart job, r
352
+
353
+ 2月 18 14:02:25 raspberrypi systemd[1]: Stopped pibot service.
354
+
355
+ 2月 18 14:02:25 raspberrypi systemd[1]: pibot.service: Start request repeated t
356
+
357
+ 2月 18 14:02:25 raspberrypi systemd[1]: pibot.service: Failed with result 'exit
358
+
359
+ 2月 18 14:02:25 raspberrypi systemd[1]: Failed to start pibot service.
360
+
361
+ ```

2

試したことの追記

2021/02/18 05:09

投稿

MasatoN
MasatoN

スコア0

test CHANGED
File without changes
test CHANGED
@@ -252,10 +252,16 @@
252
252
 
253
253
  ### 試したこと
254
254
 
255
+ **1.pibot.serviceのRestartの変更**
256
+
255
257
  [https://teratail.com/questions/242215](https://teratail.com/questions/242215)
256
258
 
257
259
  上のリンクにRestart=always にするとデーモン化に失敗してしまうと書いてあったので、代わりに以下のコードを試してみましたが、同様のエラーが生まれました。
258
260
 
261
+
262
+
263
+ /etc/systemd/system/pibot.service
264
+
259
265
  ```ここに言語名を入力
260
266
 
261
267
  [Unit]
@@ -279,3 +285,19 @@
279
285
  WantedBy=multi-user.target
280
286
 
281
287
  ```
288
+
289
+
290
+
291
+ **2.run_hubot.shの実行確認**
292
+
293
+ run_hubot.shが正しくない可能性を確認するために、ターミナルでシェルスクリプトの実行を行いました。
294
+
295
+ ```ここに言語を入力
296
+
297
+ $cd ~/hubot/pibot/bin
298
+
299
+ $. run_hubot.sh
300
+
301
+ ```
302
+
303
+ 上のコマンドの結果として、Slack上でHubotが起動したのを確認できたので、問題はpibot.service側にあるのではないかと考えています。ただ、その解決策はまだ見つかりません。

1

不明瞭な点が多かったため、追記しました。

2021/02/13 02:05

投稿

MasatoN
MasatoN

スコア0

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- 以下のサイトを参考にして、HUBOTをRapberryPiでデーモン化するコードを書いています。
3
+ 以下のサイトを参考にして、RapberryPiでHubotをSlackに繋げそれをデーモン化するコードを書いています。
4
4
 
5
5
 
6
6
 
@@ -8,15 +8,15 @@
8
8
 
9
9
 
10
10
 
11
- HUBOTを設定してSlack繋げるまではできたのですが、それをデーモン化するコードで躓
11
+ HubotとSlack繋げるまではできたのですが、デーモン化するところが上手くせん
12
-
12
+
13
- RaspberryPiに関しては完全に初心者でエラー原因が分からないので、解決方法を教えていただけると幸いです。
13
+ RaspberryPiに関しては完全に初心者でエラー原因が分からないので、解決方法を教えていただきたいです。
14
14
 
15
15
 
16
16
 
17
17
  ### 発生している問題・エラーメッセージ
18
18
 
19
- systemdに作成した設定ファイルの動作確認をすると以下のようなエラーが出てしまいました。
19
+ systemdに作成した設定ファイルpibot.serviceの動作確認をすると以下のようなエラーが出てしまいました。
20
20
 
21
21
  ```
22
22
 
@@ -46,11 +46,81 @@
46
46
 
47
47
  ```
48
48
 
49
-
49
+ pibot.service
50
+
50
-
51
+ ```ここに言語を入力
52
+
53
+ [Unit]
54
+
55
+ Description=pibot service
56
+
57
+
58
+
59
+ [Service]
60
+
61
+ ExecStart=/home/pi/hubot/pibot/bin/run_hubot.sh
62
+
63
+ Restart=always
64
+
65
+ Type=simple
66
+
67
+
68
+
69
+ [Install]
70
+
71
+ WantedBy=multi-user.target
72
+
73
+ ```
74
+
51
- ### 該当のソコード
75
+ ### エラーコードが出た経緯
76
+
52
-
77
+ **1. Hubotの設定**
78
+
79
+ まず、RaspberryPiの/home/pi/hubot/pibotディレクトリを作り、そこでyo hubotを実行しhubotの作成を行いました。
80
+
81
+ ```ここに言語を入力
82
+
83
+ $cd ~/hubot/pibot
84
+
85
+ $yo hubot
86
+
87
+ ```
88
+
53
- まず下ようにhubotの設定ファイルパスを通しました。
89
+ Hubotの設定を以下のよう行いました。
90
+
91
+
92
+
93
+ Owner:自分のメールアドレス
94
+
95
+ Bot name:pibot
96
+
97
+ Description:適当な値
98
+
99
+ Bot adapter:slack
100
+
101
+
102
+
103
+ 設定した後に```$bin/hubot```と```pibot ping```を実行すると、HUBOTからPONGと返ってきたのが確認できました。
104
+
105
+
106
+
107
+ **2.SlackとHubotを繋げる**
108
+
109
+ 次にSlackにHubotを追加したのち、APIトークンをコピーしました。
110
+
111
+ ![イメージ説明](567abd2aacd32933f0a881eab6ed1d8b.jpeg)
112
+
113
+ その後、~/hubot/pibotディレクトリの中で、hubotの設定ファイルを開きました。
114
+
115
+ ```ここに言語を入力
116
+
117
+ $cd ~/hubot/pibot
118
+
119
+ $nano bin/hubot
120
+
121
+ ```
122
+
123
+ 上のコマンドをターミナルに打つと下のようなテキストエディタが開かれたので、取得したAPIトークンをペーストしました。
54
124
 
55
125
  ```ここに言語名を入力
56
126
 
@@ -64,7 +134,7 @@
64
134
 
65
135
  npm install
66
136
 
67
- export HUBOT_SLACK_TOKEN=xoxb-1687056892356-1693521603667-3StDqEPhf3r2aiYNw1F8Nx1q
137
+ export HUBOT_SLACK_TOKEN=(取得したSlackのAPIトークン)
68
138
 
69
139
 
70
140
 
@@ -78,7 +148,21 @@
78
148
 
79
149
  ```
80
150
 
151
+ ターミナルに戻り、```$bin/hubot -a slack```を実行してみると、Slack上でHubotが反応しているのが確認できました。
152
+
153
+ **3.Hubotのデーモン化**
154
+
81
- そして上のコードと同じディレクトリにbin/hubotを実行するシェルスクリプトを作成しました。
155
+ まずbin/hubotと同じディレクトリにrun_hubot.shというシェルスクリプトを作成しました。
156
+
157
+ ```ここに言語を入力
158
+
159
+ $cd /home/pi/hubot/pibot/bin
160
+
161
+ $sudo nano run_hubot.sh
162
+
163
+ ```
164
+
165
+ run_hubot.sh
82
166
 
83
167
  ```
84
168
 
@@ -90,7 +174,17 @@
90
174
 
91
175
  ```
92
176
 
93
- その後、systemd/systemフォルダにサービス起動用の設定ファイルを追加し、これの動作確認をてみところ上述のようなエラーが出てしまいます
177
+ その後、systemd/systemフォルダに移動しサービス起動用の設定ファイルpibot.serviceを追加しした。
178
+
179
+ ```ここに言語を入力
180
+
181
+ $cd /etc/systemd/system
182
+
183
+ $sudo nano pibot.service
184
+
185
+ ```
186
+
187
+ pibot.service
94
188
 
95
189
  ```
96
190
 
@@ -116,6 +210,46 @@
116
210
 
117
211
  ```
118
212
 
213
+ その後、pibot.serviceが正しく実行できているかどうかを確認するために、ターミナルで以下のコマンドを実行しましたが、上述のようなエラーが出てしまいました。
214
+
215
+ ```ここに言語を入力
216
+
217
+ $sudo systemctl daemon-reload
218
+
219
+ $systemctl status pibot
220
+
221
+ ```
222
+
223
+ ```
224
+
225
+ pi@raspberrypi:/etc/systemd/system $ systemctl status pibot
226
+
227
+ ● pibot.service - pibot service
228
+
229
+ Loaded: loaded (/etc/systemd/system/pibot.service; enabled; vendor preset: enabled)
230
+
231
+ Active: failed (Result: exit-code) since Wed 2021-02-10 10:38:17 JST; 31min ago
232
+
233
+ Main PID: 2276 (code=exited, status=203/EXEC)
234
+
235
+
236
+
237
+ 2月 10 10:38:17 raspberrypi systemd[1]: pibot.service: Service RestartSec=100ms expired, scheduling restart.
238
+
239
+ 2月 10 10:38:17 raspberrypi systemd[1]: pibot.service: Scheduled restart job, restart counter is at 5.
240
+
241
+ 2月 10 10:38:17 raspberrypi systemd[1]: Stopped pibot service.
242
+
243
+ 2月 10 10:38:17 raspberrypi systemd[1]: pibot.service: Start request repeated too quickly.
244
+
245
+ 2月 10 10:38:17 raspberrypi systemd[1]: pibot.service: Failed with result 'exit-code'.
246
+
247
+ 2月 10 10:38:17 raspberrypi systemd[1]: Failed to start pibot service.
248
+
249
+ ```
250
+
251
+
252
+
119
253
  ### 試したこと
120
254
 
121
255
  [https://teratail.com/questions/242215](https://teratail.com/questions/242215)