Ubuntu Server 14.04を使用しています。 /etc/init.d/gearman-job-server
を変更して、次のように入力した後:
# Sudo service gearman-job-server restart
私が行った変更は無視されます。しかし、それから私はタイプします:
# /etc/init.d/gearman-job-server restart
すべてが機能します。それらのスクリプトは現在Ubuntu 14.04にありますか?
Ubuntu 15.10でリッスンアドレスを変更しようとして同様の問題が発生した後、従来のinitスクリプトが無視され、systemd設定が127.0.0.1でのみリッスンするようにハードコーディングされていることがわかりました。
解決策は、systemdの設定を変更して再読み込みし、サービスを再起動することです。
構成は直接またはオーバーライドファイルを介して変更できます。
Systemdサービス設定は/lib/systemd/system/gearman-job-server.service
にあります。このファイルを編集し、ExecStart行を変更して、必要なパラメーターを含めます。
ファイル/etc/systemd/system/gearman-job-server.service.d/gearman-job-server.conf
を作成します。
次の構成をファイルに入れて、ExecStartコマンドをオーバーライドします。
[Service]
ExecStart=
ExecStart=/usr/sbin/gearmand --pid-file=/run/gearman/server.pid --log-file=/var/log/gearman-job-server/gearman.log
元のコマンドラインを削除するには、空のExecStart=
行が必要です。これがないと、システムはオリジナルとカスタムの両方を実行しようとします。
Systemdがサービス構成をリロードするように、次のコマンドを実行します
/bin/systemctl daemon-reload
service gearman-job-server restart
Sudo service
を使用する場合、Ubuntu 12.04とUbuntu 14.04は最初に/etc/init
(upstart)、次に/etc/init.d
のinitスクリプトを検索するため、最初にこのスクリプトが見つかります。
/etc/init/gearman-job-server.conf
その後
/etc/init.d/gearman-job-server
ところで、説明されているgearman-job-server.confにもバグがあります here 。