新規インストール、移行、またはアップグレードの後に、DTP サービスを開始しなければならない場合があります。このセクションの内容:
Linux での DTP サービスの開始
DTP とその関連サービスを開始する方法はいくつかあります。
- dtpconsole.sh スクリプト を使用する
- 自動化スクリプト を使用する
- systemd サービス を使用する
コンソール スクリプトを使用する
dtpconsole.sh スクリプトは、DTP とその関連サービスの開始と停止に加えて、データベース接続の設定など、インタラクティブな管理機能を提供します。
自動化スクリプトの使用
初回の起動と設定の後は、専用スクリプトを使用して DTP アプリケーションを起動できます。スクリプトは非インタラクティブであり、自動化された環境での DTP サービスの開始と停止に適しています。自動化スクリプトは crontab 機能と互換性がない点に注意してください。 crontab 機能を使用している場合は、dtpconsole.sh スクリプトを使用して DTP を開始および停止します。
DTP Server
<DTP_INSTALL>/bin ディレクトリにある dtp.sh スクリプトを使用します。以下のコマンドを指定できます。
dtp.sh run | 現在のウィンドウで DTP サーバープロセスを実行します。 |
dtp.sh start | バックグラウンド プロセスとして DTP サーバーを開始します。 |
dtp.sh stop | DTP サーバーを停止します。 |
dtp.sh status | DTP サーバーの現在のステータスを表示します。 |
dtp.sh help | ヘルプをコンソールに表示します。 |
Data Collector
<DTP_INSTALL>/bin ディレクトリにある datacollector.sh を使用します。以下のコマンドを指定できます。
datacollector.sh run | 現在のウィンドウで Data Collector プロセスを実行します。 |
datacollector.sh start | バックグラウンド プロセスとして Data Collector を開始します。 |
datacollector.sh stop | Data Collector を停止します。 |
datacollector.sh status | Data Collector の現在のステータスを表示します。 |
datacollector.sh help | ヘルプをコンソールに表示します。 |
DTP Enterprise Pack
<DTP_INSTALL>/dtpservices ディレクトリにある dtpservices.sh を使用します。以下のコマンドを指定できます。
dtpservices.sh run | 現在のウィンドウで Enterprise Pack プロセスを実行します。 |
dtpservices.sh start | バックグラウンド プロセスとして Enterprise Pack を開始します。 |
dtpservices.sh stop | Enterprise Pack を停止します。 |
dtpservices.sh status | Enterprise Pack の現在のステータスを表示します。 |
dtpservices.sh reset-server | Enterprise Pack の DTP サーバー接続設定をデフォルトにリセットします。サーバー構成の詳細については「サーバーの設定」を参照してください。 |
dtpservices.sh help | ヘルプをコンソールに表示します。 |
Linux で stop を実行した場合に起こり得るエラー
予想外の状況によって、Linux で stop を実行したときに以下のメッセージが表示される場合があります。
"Time out on DTP Enterprise Pack process termination.Please kill all processes manually.(Refer to the documentation)"
このメッセージが表示されるのは、メインの DTP Enterprise Pack アプリケーション (通常サービス プロセスの 1 つ) の子プロセスが開始しているが、完全に終了していない場合だけです。DTP Enterprise Pack を再び開始する前に、そのような子プロセスを終了させる必要があります。
- 以下のコマンドを実行します。
pgrep node or pgrep -f <installation home>/nodejs/bin/node
このコマンドは、 DTP Enterprise Pack が開始したすべてのプロセスを出力します。 - 同じ引数を使用して kill コマンドを実行し、これらのプロセスを強制終了します:
pkill node
またはpkill -f <installation home>/nodejs/bin/node
systemd サービスの使用
インストールと systemd サービスのユーザー権限は同じでなければなりません。
DTP を管理するために dtpconsole.sh スクリプト、自動化スクリプト、または crontab を使う代わりに、systemd をサポートする Linux システムでカスタム systemd サービスを設定することができます。この作業を行う前に、DTP サービスが実行されていないことを確認してください。これらの systemd サービスは、crontab の機能とは互換性がないことに注意してください。crontab 機能を使用している場合は、dtpconsole.sh スクリプトを使用して DTP を開始および停止します。
systemd サービスを使用するには:
- 各 DTP サービスのファイルを作成します。ファイルは
<servicefilename>.service
という形式です。- これらのファイルには任意の名前を付けることができますが、systemd が正しく処理するためにファイル名に .service 拡張子が必要です。
- これらのファイルを
/etc/systemd/system
ディレクトリに配置します。
以下は、上記の手順で作成したファイルで使用できる各 DTP サービス用の systemd サービスのサンプルです。各サービスのユーザーとグループが DTP インストールの所有者と必ず一致していることが重要です。さらに、ExecStart および ExecStop オプションは、DTP のインストール場所に対応している必要があります。
DTP Server の場合:
[Unit] Description=Parasoft DTP Server # Wait for the network services to be started first Wants=network.target After=network.target # When the database is MySQL and on the local machine... # Wants=mysql.service # After=mysql.service [Service] # User/Group should be consistent with DTP installation owner User=devtest Group=devtest Type=simple ExecStart=/home/devtest/parasoft/dtp/bin/dtp.sh run ExecStop=/home/devtest/parasoft/dtp/bin/dtp.sh stop # Set maximum file descriptor limit to max LimitNOFILE=65536 SuccessExitStatus=143 SIGKILL Restart=on-failure [Install] WantedBy=multi-user.target
DTP Data Collector の場合:
[Unit] Description=Parasoft DTP Data Collector Service # Wait for the network services to be started first Wants=network.target After=network.target # When the database is MySQL and on the local machine... # Wants=mysql.service # After=mysql.service [Service] # User/Group should be consistent with DTP installation owner User=devtest Group=devtest Type=simple ExecStart=/home/devtest/parasoft/dtp/bin/datacollector.sh run ExecStop=/home/devtest/parasoft/dtp/bin/datacollector.sh stop # Set maximum file descriptor limit to max LimitNOFILE=65536 SuccessExitStatus=143 SIGKILL Restart=on-failure [Install] WantedBy=multi-user.target
DTP Enterprise Pack の場合 (インストールされている場合):
[Unit] Description=Parasoft DTP Enterprise Pack Service # Wait for the network services to be started first Wants=network.target After=network.target [Service] # User/Group should be consistent with DTP installation owner User=devtest Group=devtest Type=simple ExecStart=/home/devtest/parasoft/dtp/dtpservices/dtpservices.sh run ExecStop=/home/devtest/parasoft/dtp/dtpservices/dtpservices.sh stop # Set maximum file descriptor limit to max LimitNOFILE=65536 Restart=on-failure [Install] WantedBy=multi-user.target
サービスの設定が完了したら、マシンの再起動時に自動的にサービスを開始できるようにします。作成したサービスファイルごとに、以下を実行します。
sudo systemctl enable <servicefilename>
すべてのサービスを有効にしたら、systemd マネージャーの設定を再び読み込みます。
sudo systemctl daemon-reload
次に、作成したサービスごとに、以下を実行してサービスを開始します。
sudo systemctl start <servicefilename>
サービスのステータスを確認するには:
sudo systemctl status <servicefilename>
サービスを停止するには:
sudo systemctl stop <servicefilename>
トラブルシューティング
SELINUX環境では、インストール tar.gz を解凍してホームディレクトリで実行し、その後ホームディレクトリ以外のディレクトリにインストールすると、ラベルが正しくなくなります。ファイルのラベルを変更する必要があります。そうしないと、SELINUX がブロックしているため DTP が開始されません。ファイルのラベルを変更するには、次のコマンドを実行します。
restorecon -Rv <INSTALL-DIR>
このコマンドを実行した後、次のコマンドを実行して SELINUX の状態を確認できます。
sestatus
Windows での DTP サービスの開始
Windows の [スタート] メニューを使って、簡単に DTP サービスを開始/停止することができます。
- [スタート] メニューをクリックし、[Parasoft] > [DTP] > [Start DTP Server] を右クリックします。
- コンテキスト メニューから [管理者として実行] を選択します。
- 任意のキーを押すよう促されたら、キーを押します。
- この手順を繰り返して、Data Collector と DTP Enterprise Pack を開始します (該当する場合)。
Windows サービスを使って DTP サービスを開始/停止するだけでなく、開始を自動から手動に変更することもできます。
詳細については、ご使用の Windows のドキュメントを参照してください。