mysqlの起動後にsystemdサービスを起動するには?

mysqlの起動後にsystemdサービスを起動するには?

私は単一の電子メールサーバープロジェクトを進めています。起動中に自動的に起動するようにsystemdにサービスを追加しようとしたときに問題が発生しました。

スクリプトを作成して追加して/lib/systemd/system/emailserver.serviceからln -s /lib/systemd/system/emailserver.service /etc/systemd/system/emailserver.service

systemd reload-daemonそれからそれを実行し、systemctl start emailserver.service実行したときに実行中であることps -ef |grep -i emailserverを確認することができ、mono EmailServer.exeこれまではすべて大丈夫だった。

ただし、ファイルからサーバーを再起動すると、/var/log/messages次のエラーメッセージが表示されます。

Jul 16 19:41:02 dev-server systemd[1]: emailserver.service holdoff
time over, scheduling restart. Jul 16 19:41:02 dev-server systemd[1]:
emailserver.service holdoff time over, scheduling restart. Jul 16
19:41:03 dev-server systemd[1]: emailserver.service holdoff time over,
scheduling restart. Jul 16 19:41:03 dev-server systemd[1]:
emailserver.service holdoff time over, scheduling restart. Jul 16
19:41:03 dev-server systemd[1]: emailserver.service holdoff time over,
scheduling restart. Jul 16 19:41:04 dev-server systemd[1]:
emailserver.service holdoff time over, scheduling restart. Jul 16
19:41:04 dev-server systemd[1]: emailserver.service start request
repeated too quickly, refusing to start.

私のemailserver.serviceスクリプトには次のものがあります。

[Unit]
Description=Boardies Email Server Startup Script

[Service]
ExecStart=/home/bits/EmailServer/start.email
Restart=always

[Install]
WantedBy=multi-user.target

OpenSuse 12.1を使用しています。

私が何を間違っているのでしょうか?助けてくれてありがとう。

修正する プログラムが起動時に動作を停止する原因を見つけましたが、解決策がわかりません。私のプログラムはMySQLデータベースによって異なります。私のプログラムはMySQLが起動する前に起動しているようです。 MySQLの起動後にサービスをロードするにはどうすればよいですか?

答え1

After=mysql.serviceサービスファイルに追加するか、正しいサービス名に変更してください。たとえば、次のようになります。

[Unit]
Description=Boardies Email Server Startup Script
After=mysql.service

[Service]
ExecStart=/home/bits/EmailServer/start.email
Restart=always

[Install]
WantedBy=multi-user.target

サービスファイルを /lib/systemd/system に入れる必要はありません。これはユーザー提供のファイルなので、/etc/systemd/systemにコピーするだけです。

利用可能なすべてのサービスファイルのリストを取得し、systemctl list-unit-filesデータベースサービス(おそらくmysql.serviceまたはmysqld.service)の正しい名前を解決するには

関連情報