systemdでb.serviceというファイルにrun.pyというファイルをOS起動時に実行するように記述した後、
再起動したのですが実行していませんでした。
しかし,sudo systemctl start b.serviceを行ったところ,run.pyが実行している事が確認できたためb.serviceがrun.pyを実行するファイルになっている事は間違いないようです。
この場合再起動時にb.serviceが動作していないと考えるのが妥当だと思うのですが、どういった原因でそうなってしまっていると予測されるでしょうか?
前提として、sudo systemctl enable b.serviceも行っています。
ホームディレクトリにある別のPythonのファイルは再起動時の実行に成功しました。
OS再起動直後の実行状態確認↓
b.service↓
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
下記のような質問は推奨されていません。
- 質問になっていない投稿
- スパムや攻撃的な表現を用いた投稿
適切な質問に修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
回答3件
2
起動時に実行されていないのは、
dmesg | grep systemd
の結果で、エラーが出ているのではないでしょうか。
ネットワークの後に起動するのであれば、普通は、
[Unit] After=network.target
を追加しておけば、大丈夫だと思うのですが...
systemctl enable systemd-networkd-wait-online
を使うのであれば、下記のように書き換えておく必要があると思います。
[Unit] After=network-online.target
もし、インターネットに接続に行くようなものであれば、nss-lookup.target
も一緒に追加しておいた方が良いかもしれません。
投稿2019/02/28 04:55
編集2019/02/28 04:56総合スコア25069
0
自己解決
以下のようにb.serviceの記述を変更するか、run.pyの先頭に数秒のスリープ(今回は15秒)を入れることで再起動時の実行が可能になった。
[Unit]
Description=excute run.py
After=network.target remote-fs.target nss-lookup.target
[Service]
ExecStart=/usr/bin/python3 /home/pi/Documents/Interphone/slackbot_test/run.py
[Install]
WantedBy=network-online.target
投稿2019/02/28 08:28
総合スコア21
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
回答へのコメント
0
IPアドレスがインターフェースに割り当てられる前に起動しようとしてbindに失敗するとかはよくありますねー。messagesにエラー原因が出力されてると思いますよ。
投稿2019/02/27 11:01
総合スコア2840
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
回答へのコメント
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
同じタグがついた質問を見る
bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。
systemdは、Linuxの起動処理及びシステム管理を行う技術です。他にも多くのサービス管理機能を備えており、ユーザープロセスを並列に起動しシステムの起動処理に要する時間を短縮できるなどの特徴があります。
Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。
Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。