私初期化スクリプト- /etc/init.d/myservice
、以下を含むいくつかのプロセスを開始します。CLIプロセス。この CLI プロセスでは、以下を追加しました。注文するサービスを再起動するために使用できます(再起動私たち自身- 一種の)。
私が試したこと - スクリプト(CLIコマンドで生成された)から実行sudo service myservice restart
。restart
しかし、stop;start
これはうまくいきません!つまりstop
、このようなことが発生しても部分の実行中にstart
スクリプトは終了します (信号なしで簡単にEXIT
)。
nohup
などの組み合わせを試しましたが、うまくdisown
いかないようです!終了せずにこれを行う方法がわかりませんrestart
。追加のデバッグ用のポインタや回避策はありますか?
結論として:
myservice
-> 以下を含む多くのプロセスを作成します。コマンドラインインタフェースrestart
CLI ->呼び出すコマンドがあります。スクリプト- スクリプトする
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/