スクリプトからサービスを再起動する

スクリプトからサービスを再起動する

初期化スクリプト- /etc/init.d/myservice、以下を含むいくつかのプロセスを開始します。CLIプロセス。この CLI プロセスでは、以下を追加しました。注文するサービスを再起動するために使用できます(再起動私たち自身- 一種の)。

私が試したこと - スクリプト(CLIコマンドで生成された)から実行sudo service myservice restartrestartしかし、stop;startこれはうまくいきません!つまりstop、このようなことが発生しても部分の実行中にstartスクリプトは終了します (信号なしで簡単にEXIT)。

nohupなどの組み合わせを試しましたが、うまくdisownいかないようです!終了せずにこれを行う方法がわかりませんrestart。追加のデバッグ用のポインタや回避策はありますか?

結論として:

  • myservice-> 以下を含む多くのプロセスを作成します。コマンドラインインタフェース
  • restartCLI ->呼び出すコマンドがあります。スクリプト
  • スクリプトするsudo service myservice restart

- 追加情報 -

私はUbuntu 12.04を使用していますが、upstart

答え1

かなり長い間検索してきましたが、このSuperUser Q&Aで次のタイトルのソリューションを見つけました。端末からプロセスを完全に分離するには?、ここに私の質問を投稿した後。

| at now

答え2

サービスを再起動する前に正しく停止するまで数秒待つ必要があるかもしれません。次の行を使用してスクリプトを遅らせることができます

# waiting for 5 seconds
sleep 5

詳細はこちらから確認できます -http://www.cyberciti.biz/faq/linux-unix-sleep-bash-scripting/

関連情報