#!/bin/bash # 更新 go mod, 然後靜態編譯 go mod tidy go build -o data/main bin/main.go # 上传到服务器, 然後刪除本地文件 scp ./data/main root@47.103.40.152:~/main_new rm ./data/main # 查看 main_ 的進程, 然後使用 kill -9 强制关闭 ssh root@47.103.40.152 "ps -ef | grep -v grep | grep ./main" ssh root@47.103.40.152 "kill -9 \`ps -ef | grep -v grep | grep ./main | awk '{print \$2}'\`" # 重启服务, 保持服务不被关闭 (pkill ./main; 無效, 還需防止 nohup 不退出) ssh root@47.103.40.152 "rm ./main; mv ./main_new ./main;" ssh root@47.103.40.152 "nohup ./main test >> nohup.out 2>&1 &" ssh root@47.103.40.152 "nohup ./main server >> nohup.out 2>&1 &" ssh root@47.103.40.152 "ps -ef | grep -v grep | grep ./main" # 查看日志 # ssh root@47.103.40.152 "tail -fn 50 nohup.out" # 查看所有進程, 排除grep, 只看本用戶, 排除進程名帶方括號的, 排除lib, 排除bash, 排除sshd, 按照進程名排序, 對 main 高亮爲紅色 #ssh root@47.103.40.152 "ps -ef | grep -v grep | grep \$USER | grep -v '\[' | grep -v /lib | grep -v bash | grep -v sshd | grep -v /sbin | sort -k 8"