Linuxでサービスを再起動する正しいコマンド

1092 ワード

開発環境では、コードを導入したり、サービスを再起動したりすることが多いので、スクリプトにコマンドを書いて使いやすいです.
私たちはそう書くかもしれません.
#!/bin/bash

ps -ef | grep backend-api-1.0 | grep -v "\-\-color" |awk '{print $2}' |xargs kill -9
sleep 1
nohup java -jar backend-api-1.0.jar >> backend-api.log 2>&1 &
tail -f backend-api.log
このスクリプトは問題ないように見えますが、実行可能な場合、kill: PID : のエラーが発生しますが、サービスは正常に再起動できます.つまり、ps -ef | grep backend-api-1.0 | grep -v "\-\-color" というコマンドは現在の実行プロセスをフィルタリングしていません.
正しい書き方は、項目名の2つの異なる単語を取り、grepではなくgrep -vを2回使います.
#!/bin/bash

ps -ef | grep backend | grep api |awk '{print $2}' |xargs kill -9
sleep 1
nohup java -jar backend-api-1.0.jar >> backend-api.log 2>&1 &
tail -f backend-api.log
「Kおじさんブロックチェーン」の購読を歓迎します.ブロックチェーン技術の勉強に専念します.
ブログアドレス:http://www.jouypub.com
簡書ホームページ:https://www.jianshu.com/u/756c9c8ae984
segmentfaultホームページ:https://segmentfault.com/blog/jouypub
テンセント雲ホームページ:https://cloud.tencent.com/developer/column/72548