Linux服务器SSH挂断后继续后台运行命令

当我们断开SSH连接时,运行的命令也会终止。如何才能在断开SSH客户端后,让命令在后台自动运行呢?

解决方法:
1.nohup命令
功能:不挂断地运行命令,忽略HUP信号。
语法:nohup command &
中间红色command是需要运行的命令
退出时输入命令:exit
则能保证命令在后台继续运行!

举例:
1. sh test.sh &  
将sh test.sh任务放到后台 ,即使关闭xshell退出当前session依然继续运行,但标准输出和标准错误信息会丢失(缺少的日志的输出)
将sh test.sh任务放到后台 ,关闭xshell,对应的任务也跟着停止。
2. nohup sh test.sh  
将sh test.sh任务放到后台,关闭标准输入,终端不再能够接收任何输入(标准输入),重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。
3. nohup sh test.sh  & 
将sh test.sh任务放到后台,但是依然可以使用标准输入,终端能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。

注意:退出时切记输入命令:exit

4、nohup 命令 参数 >/dev/null 2>&1 &
我们并不需要linux来记录日志,而且时间长了nohup.out文件会变的非常大,所以我们把linux中的日志全部丢到/dev/null中,相当于放入垃圾桶。>/dev/null是将1放进黑洞, 2>&1是将2放进1,最终都进入黑洞。

VPS服务器测试命令

硬件测试

wget -qO- yabs.sh | bash

流媒体测试

 bash <(curl -L -s check.unlock.media) 

硬件和国内网络速度测试

 wget -qO- bench.sh | bash 

国内三网测速(自动更新测速ID):

bash <(wget -qO- bash.spiritlhl.net/ecs-net)
bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-net.sh)

国内用:

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-net.sh)

BestTrace线路测试:

wget -qO- git.io/besttrace | bash
wget https://raw.githubusercontent.com/vpsxb/testrace/main/testrace.sh -O testrace.sh && bash testrace.sh

以下是自动线路测试:

sudo yum install mtr
sudo apt-get install mtr
curl http://tutu.ovh/bash/returnroute/test.sh|bash

内容:主要测试大陆网络回程线路,第二条可以查询IPV6

获取节点列表的方法
官方节点列表,只能获取到IP的附近节点,而且可能有凑数的。
https://c.speedtest.net/speedtest-servers-static.php

speedtest im
http://speedtest.im/
国产,收集了扫段后的数据,可以辅助定位测试节点的ID

其他人整理的List
https://biger.me/184.html
https://cnwebmasters.com/158.html
https://st8.one/archives/26/
https://tianji.me/index.php/%E7%BA%BF%E8%B7%AF%E7%9B%B8%E5%85%B3/176.html

Speedtest 使用中国的服务器节点进行测试

未知名英文全面测评

curl -fsL https://ilemonra.in/LemonBenchIntl | bash -s fast 

VPS服务器一些加速脚本

Linux 发行版在内核版本 4.9 及以上版本中

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sudo sysctl -p

查看BBR是否安装启动:

sysctl net.ipv4.tcp_congestion_control
lsmod | grep bbr

如果结果显示有tcp_bbr模块,则表示BBR已加载到内核中。

  • BBR plus内核4.14.129版(修复CVE-2019-11477内核漏洞)

#支持系统:CentOS 6+、Debian 8+、Debian 10、buntu 14+、Ubuntu 16+

wget  --no-check-certificate -q -O tcp.sh "https://github.com/cx9208/Linux-NetSpeed/raw/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

 

BBR plus内核升级版
不卸载内核版本

wget -N --no-check-certificate "https://github.000060000.xyz/tcpx.sh" && chmod +x tcpx.sh && ./tcpx.sh

wget -N "https://github.000060000.xyz/tcpx.sh" && chmod +x tcpx.sh && ./tcpx.sh

安装完内核之后,reboot 重启 ./tcp.sh 进入管理脚本,开启加速