1. 程式人生 > >通過shell指令碼構建某服務 start/stop/restart 命令

通過shell指令碼構建某服務 start/stop/restart 命令

對於某些常用操作可以通過 shell 指令碼構建成為一個命令,通過傳入不同的引數實現不同的操作。以下以 python 構建的 web 伺服器的 start/stop/restart 命令為例建立 shell 指令碼。

1. 建立空白檔案,命名為 server

2. 將 sh 指令碼寫入檔案

#!/bin/bash

App="~/Application/Application.py"

echo $1
echo $App

function killProsess() {
	NAME=$1
	echo $NAME
        
        // 獲取程序 PID
	PID=$(ps -e | grep $NAME | awk '{print $1}') 
	
	echo "PID: $PID"
        // 殺死程序
	kill -9 $PID
}

function start() {
	echo "start"
	echo "----------------"
	mypython $App
}

function stop() {
	echo "stop"
	echo "----------------"
	killProsess "mypython"
}

function restart() {
	echo "restart"
	echo "----------------"
	stop
	start
}

case "$1" in
	start )
		echo "****************"
		start
		echo "****************"
		;;
	stop )
		echo "****************"
		stop
		echo "****************"
		;;
	restart )
		echo "****************"
		restart
		echo "****************"
		;;
	* )
		echo "****************"
		echo "no command"
		echo "****************"
		;;
esac

3. 修改 server 檔案的許可權為可執行

chmod +x server
4. 將 server 檔案移動到系統環境路徑下,或將 server 檔案所在路徑新增到系統環境

5. 通過命令列執行相應命令

// web 伺服器啟動
server start &

// web 伺服器停止
server stop

// web 伺服器重啟
server restart &

注: 1. server start &,& 表示開啟的程序為後臺程序,關閉 terminal 之後開啟的程序不會被關閉。

2. shell 指令碼中的 mypython 為 python2.7 的軟連結。


相關推薦

通過shell指令碼構建服務 start/stop/restart 命令

對於某些常用操作可以通過 shell 指令碼構建成為一個命令,通過傳入不同的引數實現不同的操作。以下以 python 構建的 web 伺服器的 start/stop/restart 命令為例建立 sh

Docker start/stop/restart 命令

docker start :啟動一個或多個已經被停止的容器 docker stop :停止一個執行中的容器 docker restart :重啟容器 語法 docker start [OPTIONS] CONTAINER [CONTAINER...] docker

shell指令碼示例,start stop restart

PID_FILE=pid/malformedword.pid CLASS_PATH=package/lib MAIN_CLASS=com.youku.netty.HttpServer echo "st

通過Shell開發企業級標準服務啟動腳本案例(MySQL)

mysql 標準啟動腳本 老男孩教育Linux高端運維班Shell課後必會考試題:企業Shell面試題10:開發企業級MySQL啟動腳本說明:MySQL啟動命令為:/bin/sh mysqld_safe --pid-file=$mysqld_pid_file_path 2>&1 >

通過Jenkins自動構建dubbo服務時的問題匯總

搜索 內容 正常 odin 1.0 tails net sta cau 最近接觸新的dubbo項目,項目初始時,測試環境的提供者服務發布較頻繁,奈何公司又沒有自動發布工具,遂自己在測試環境中搭建了Jenkins用於dubbo服務的發布。由於第一次使用,過程中也遇到了一些問

Shell指令碼構建Docker 半自動化編譯打包釋出應用

Docker 釋出的方式為實現DevOps(自動化運維,需要配置 程式碼管理工具如Git的hook來實現提交編譯、打包、釋出等一系列事件控制)提供了諸多方便,輔助於Shell指令碼可以很好的配合起來。Docker映象可以通過自動化編譯,也可以通過匯入映象的方式來獲得。本文的題目叫:Shell指令

Linux Centos7通過shell指令碼來監控mysql的執行狀態

vim checkmysql.sh #!/bin/sh #create by mingongge at 2018-10-10 port=`netstat -lnt|grep 3306|wc -l` if  [ $post -ne 1 ] ;then    now

如何通過shell指令碼操作MongoDB

  通過shell指令碼對MongoDB進行自動化操作 執行寫好的 ./show.sh 指令碼 發現能夠建立mongo連結 #!/bin/sh mongo WordPress --eval "show collections;db.posts.find().limit(10);

通過Shell指令碼生成IPA

通過Shell指令碼生成IPA,本文內容有待實際操作後驗證。 方案一:xcodebuild -archivePath # 清理xcodebuild clean -workspace xgj.xcworkspace -scheme xgj # 構建xcodebuild -archivePath xgj.

通過Jenkins自動構建dubbo服務時的問題彙總

最近接觸新的dubbo專案,專案初始時,測試環境的提供者服務釋出較頻繁,奈何公司又沒有自動釋出工具,遂自己在測試環境中搭建了Jenkins用於dubbo服務的釋出。由於第一次使用,過程中也遇到了一些問題,記錄與此 Q1、DubboShutdownHook 問題描述 打包/停止原程序/拷貝/解壓 過程一切正

通過shell指令碼呼叫儲存過程

shell指令碼 #/bin/sh # 獲取資料庫密碼,根據實際情況,需要修改 export_pgpasswd() { if [ -f /usr/local/svconfig/server

hadoop-yarn叢集中,通過shell指令碼自動化提交spark任務

Set() 18/02/11 12:07:32 INFO yarn.Client: Submitting application application_1518316627470_0003 to ResourceManager 18/02/11 12:07:32 INFO impl.YarnClientIm

在Oozie 中排程執行shell、hive 指令碼,以及通過shell指令碼執行hive/sqoop/shell指令碼的方法

  最近專案需要用到OOzie工具,可是找了好久,也沒有找到一個完整的、統一的解決和部署方案。經過努力,終於打通了其中的所有環節,解決了各種坑爹的問題。   首先,就專案需求做一個簡單的介紹:      專案需要從mysql中匯入資料到hive進行離線計算後,再導回到mys

Mongodb通過shell指令碼增量備份到HDFS

用Mongodb自帶的Mongoexport,通過shell指令碼的方式進行增量備份到HDFS上 1.思路介紹: Mongodb安裝目錄下bin目錄裡有兩個工具:mongoexport和mongodump這兩個工具可以實現備份mongodb的資料。用法也類似,區別這裡不做說明,自行搜尋。mongoexport

通過shell指令碼呼叫oracle儲存過程並加入定時任務

例項 檔名:add_tab_partitions.sh #!/bin/sh username='waep' password='czty_waep' sqlplus -S ${username}/

通過shell指令碼做定時任務,用sqoop匯出資料

一、shell指令碼#!/bin/bash  #coding=UTF-8  #date_year=$(date +%Y)  #echo $date_year  source /etc/profile  for((i=3;i<=8;i++));  do  /opt/sqo

Linux下service xxx start/stop/restart啟動服務、關閉服務、重啟服務深入理解@

我們經常使用service xxx start來啟動一個服務,那麼service究竟是執行的是什麼?實際上service是一個/sbin/下的一個指令碼,名稱為service。服務的絕對路徑為/sbin

通過shell指令碼 動態批量匯出mysql 資料

一般mysql匯出資料會使用select into outfile  匯出,這種方式只有在命令列模式下才能把檔案生成 到本地,如果通過儲存過程執行,檔案會生成到mysql資料庫所在的主機上。 這個時候如果你需要動態配置查詢條件來匯出檔案,就會變得很麻煩。這種情況下,可以使用

linux 通過shell指令碼在本地執行遠端機器命令

在本機上想通過shell指令碼執行遠端機器上的命令,其實很簡單,只要在ssh 的後面加上<< remotessh      【命令】 remotessh 就可以了,下面貼出簡單的例子 #!/bin/bash ssh [email protected]

簡單的通過shell指令碼接收引數進行資料庫操作

建表sql語句: SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `cent_su