一种low版一键启动多服务,一键kill多服务的解决办法

首先介绍大体私聊,就是服务启动的时候获取pid并写入一个文件记录,保证文件可以重新覆盖即可
大致三个shell例子
启动脚本

#!/bin/sh
nohup ./CapitalUpdate >> logs/CapitalUpdate.log &
nohup ./changeOrderexec >> logs/changeOrderexec.log &
nohup ./clinch_deal_order >> logs/clinch_deal_order.log &
nohup ./financialexec >> logs/financialexec.log &
nohup ./HandicapMarket >> logs/HandicapMarket.log &
nohup ./klineexec >> logs/klineexec.log &
nohup ./marketexec >> logs/marketexec.log &
nohup ./match >> logs/match.log &

stop.sh

#!/bin/sh
cat pids/CapitalUpdate.pid  | xargs kill -INT
cat pids/changeOrderexec.pid  | xargs kill -INT
cat pids/clinch_deal_order.pid  | xargs kill -INT
cat pids/financialexec.pid  | xargs kill -INT
cat pids/HandicapMarket.pid  | xargs kill -INT
cat pids/klineexec.pid  | xargs kill -INT
cat pids/marketexec.pid  | xargs kill -INT
cat pids/match.pid  | xargs kill -INT

restart.sh

#!/bin/sh
sh stop.sh
sh start.sh

最后说一下go版本的记录pid的代码

dir, _ := filepath.Abs(`.`)
	err = ioutil.WriteFile(dir+"/pids/financialexec.pid", []byte(strconv.Itoa(os.Getpid())), 0644)
	if err != nil {
    
    
		panic(err)
	}

猜你喜欢

转载自blog.csdn.net/weixin_39998006/article/details/103011582
今日推荐