質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

systemd

systemdは、Linuxの起動処理及びシステム管理を行う技術です。他にも多くのサービス管理機能を備えており、ユーザープロセスを並列に起動しシステムの起動処理に要する時間を短縮できるなどの特徴があります。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

Q&A

解決済

systemdに自動起動サービスを登録したが、起動しない。

430430Wt
430430Wt

総合スコア37

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

systemd

systemdは、Linuxの起動処理及びシステム管理を行う技術です。他にも多くのサービス管理機能を備えており、ユーザープロセスを並列に起動しシステムの起動処理に要する時間を短縮できるなどの特徴があります。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

1回答

0グッド

0クリップ

27097閲覧

投稿2016/12/21 06:40

編集2016/12/21 06:52

/etc/systemd/system/配下にAdminSrv.serviceという名前のユニットを作成しました。
中身は

[Unit]
Description = AdminServer_start/stop
Before = MngServ.service

[Service]
ExecStart = /home/myname/Admin.sh
Restart = always
Type = simple

[Install]
WantedBy = multi-user.target
WantedBy = graphical.target


です。/home/myname/Admin.shは存在しており、動作するシェルです。(仮想サーバのstart/stopができるシェル。)
/home/myname/Admin.sh start(stop) 引数により動作が違います。

systemctl list-unit-files --type=service | grep AdminSrv
AdminSrv.service enabled

上のように、自動起動の設定をしました。サーバをrebootさせたところ

systemctl status AdminSrv.service
● AdminSrv.service - AdminServer_start/stop
Loaded: loaded (/etc/systemd/system/AdminSrv.service; enabled; vendor preset: disabled)
Active: failed (Result: start-limit) since 水 2016-12-21 15:26:51 UTC; 5s ago
Process: 3055 ExecStart=/home/myname/Admin.sh (code=exited, status=1/FAILURE)
Main PID: 3055 (code=exited, status=1/FAILURE)

12月 21 15:26:50 gtpwi01j systemd[1]: AdminSrv.service: main process exited, code=exited, status=1/FAILURE
12月 21 15:26:50 gtpwi01j systemd[1]: Unit AdminSrv.service entered failed state.
12月 21 15:26:50 gtpwi01j systemd[1]: AdminSrv.service failed.
12月 21 15:26:51 gtpwi01j systemd[1]: AdminSrv.service holdoff time over, scheduling restart.
12月 21 15:26:51 gtpwi01j systemd[1]: start request repeated too quickly for AdminSrv.service
12月 21 15:26:51 gtpwi01j systemd[1]: Failed to start AdminServer_start/stop.
12月 21 15:26:51 gtpwi01j systemd[1]: Unit AdminSrv.service entered failed state.
12月 21 15:26:51 gtpwi01j systemd[1]: AdminSrv.service failed.

/home/myname/Admin.sh startと打つと、起動ができます。
(15秒程度で完了します。)

初歩的な質問で申し訳ないのですが、このサービスが失敗した原因を探るには
どのログから見ればよいのでしょうか。↑のステータスだけでは原因がよくわからなかったもので。。
ご教示頂けますと幸いです。

下を参考にしました。
http://qiita.com/DQNEO/items/0b5d0bc5d3cf407cb7ff

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

0

ベストアンサー

そのサービスをsystemctl startしても実行されるのは「/home/myname/Admin.sh」であって「/home/myname/Admin.sh start」ではないです。

正しくは以下のような感じになるのではないかと思います。

ExecStart = /home/myname/Admin.sh start ExecStop = /home/myname/Admin.sh stop

ログはそこに出ているものを見る以上に有力なものは、/home/myname/Admin.sh自身が出力していない限りはなかなかないと思います。

投稿2016/12/21 06:53

編集2016/12/21 06:59
yunano

総合スコア841

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

systemd

systemdは、Linuxの起動処理及びシステム管理を行う技術です。他にも多くのサービス管理機能を備えており、ユーザープロセスを並列に起動しシステムの起動処理に要する時間を短縮できるなどの特徴があります。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。