LoginSignup
1
2

More than 5 years have passed since last update.

CentOSのSystemctlでDataSpider Serverを起動・停止する方法

Posted at

背景

DataSpider ServistaのLinux版に自動起動スクリプトが無かったのでSystemdに登録してsystemctlでstart、stopできるようにした。

DataSpider付属の起動・停止スクリプト

  • $DATASPIDER_HOME/server/bin/DataSpiderServer
  • $DATASPIDER_HOME/server/bin/Shutdown

付属のスクリプトで起動すると下記のような標準出力が出たままになり、Ctrl+Cを押下してしまうと、終了処理が行われずにプロセスがkillされてしまうので、不都合があった。(このまま起動しようとするとSQLエラーとなる)
※マニュアルにはその場合、Shutdownスクリプトを使ってねと書いてある。

--- |INFO|モジュール[ScriptRunner Container]のサービスを開始しています。
--- |INFO|モジュール[DataProcessingComponent Manager]のサービスを開始しています。
--- |INFO|モジュール[DataProcessingComponent Manager]のサービスを開始しました。
--- |INFO|モジュール[ScriptRunner Container]のサービスを開始しました。
--- |INFO|システムのサービスを開始しました。
--- |NOTICE|DataSpider Serverを正常に起動しました。
--- |INFO|*****************************************************************


ただのshellでもよかったんだけど、せっかくCentOS7のSystemdがあるんだからsystemctlでstart/stopしたいよね。

環境

CentOS7
DataSpider Servista 4.1 Linux 64bit版

前提

  • CentOSインストール済み
  • vncserverインストール済み
  • JDKインストール済み
  • Apache、Tomcatインストール済み
  • DataSpiderインストール済み

手順

Unitファイルの作成

$ cd /etc/systemd/system/
$ sudo vi DataSpiderServer.service
DataSpiderServer.service
# *****************************************************************
# *****************************************************************
# *********************** DataSpider Server ***********************
# *****************************************************************
# *****************************************************************

[Unit]
Description=DataSpider Server

[Service]
ExecStart=/var/DataSpiderServista/server/bin/DataSpiderServer
ExecStop=/var/DataSpiderServista/server/bin/Shutdown

[Install]
WantedBy=multi-user.target

これだけ

動作確認

登録前

$ sudo systemctl list-unit-files --type=service | grep DataSpiderServer
DataSpiderServer.service                      disabled   

登録

$ sodo systemctl enable DataSpiderServer.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/DataSpiderServer.service to /etc/systemd/system/DataSpiderServer.service.

登録後

disabledがenabledになる

$ sudo systemctl list-unit-files --type=service | grep DataSpiderServer
DataSpiderServer.service                      enabled   

起動前

$ sudo systemctl status DataSpiderServer.service 
● DataSpiderServer.service - DataSpider Server
   Loaded: loaded (/etc/systemd/system/DataSpiderServer.service; enabled; vendor preset: disabled)
   Active: inactive (dead)

起動

$ sudo systemctl start DataSpiderServer.service 

起動後status

$ sudo systemctl status DataSpiderServer.service 
● DataSpiderServer.service - DataSpider Server
   Loaded: loaded (/etc/systemd/system/DataSpiderServer.service; enabled; vendor preset: disabled)
   Active: active (running) since 木 2017-10-12 12:33:58 JST; 8s ago
 Main PID: 20420 (java)
   CGroup: /system.slice/DataSpiderServer.service
           └─20420 /var/DataSpiderServista/server/bin/../../jre/bin/java -server -Djava.ext.dirs=../system/boot/ext:../../jre/lib/ext -Djava.endorsed.di...

(log省略)

停止

$ sudo systemctl stop DataSpiderServer.service 

停止後status

$ sudo systemctl status DataSpiderServer.service 
● DataSpiderServer.service - DataSpider Server
   Loaded: loaded (/etc/systemd/system/DataSpiderServer.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 木 2017-10-12 12:34:37 JST; 8s ago
  Process: 20559 ExecStop=/var/DataSpiderServista/server/bin/Shutdown (code=exited, status=0/SUCCESS)
  Process: 20420 ExecStart=/var/DataSpiderServista/server/bin/DataSpiderServer (code=exited, status=143)
 Main PID: 20420 (code=exited, status=143)

(log省略)

※disableは試してない

参考

systemdでの自動起動設定

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2