之所以要在 sh 中给 screen 传递命令是因为阿里云的 99 的服务器实在是太拉跨了,并且经常会出现各种诡异的 cpu 跑满的情况。目前上面部署了几个静态站点还有 umami 的统计。
先介绍下 screen:
screen是linux下的一种视窗多重复用管理程序。在使用telnet或SSH远程登录linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的session.screen命令可以解决这个问题。
umami、moe-conter 都是通过 screen 启动的,这就导致如果服务器重启了就得重新启动 screen,然后在 screen 中运行命令来启动服务。
阿里云的服务器经常莫名其妙 cpu 就 100 了,当然也可能是收到了攻击,但是具体情况感觉还是太频繁了,此时最简单的办法就是直接强制重启。
如果直接把要执行的命令加到 screen 命令之后写入到 sh 脚本,命令无法正常运行。合格的写法应该是下面的样子(一种形式,还有其他形式):
screen -S moe -dmS screen -x -S moe -p 0 -X stuff "cd /root/Moe-Counter " screen -x -S moe -p 0 -X stuff "sh start.sh "
注意screen -x -S moe -p 0 -X stuff “cd /root/Moe-Counter 一行指令是回车换行编写的,相当于把回车代入到了 cd 命令后面,这样写的好处是省去了插入回车,也可以用下面的写法:
screen -xS screenName -p0 -X stuff $'\n'
$’\n’ 代表回车,我觉得直接换行是最简单的。
有了启动脚本,剩下的就是编辑服务,添加自启动功能:
vim /etc/systemd/system/myautostart.service
创建自定义服务,添加代码:
[Unit] Description=My autostart Service After=network.target [Service] User=firefly ExecStart=/root/sh/start_all.sh Restart=always RestartSec=1 [Install] WantedBy=multi-user.target
重新加载服务:
systemctl daemon-reload
此时在重启,服务就可以自动启动了,省去了人工启动的麻烦。
34 comments
沙发
这 纹身和腿太明显了 下面的文章和代码都没心思看了😂
腿太粗了是吧?😂
不是不是 是纹身有创意😂😂
写代码的时候一直想着姐的淫纹
啥都想,早晚会害了你,😂
screen 启动是啥意思?是桌面linux界面么
screen是linux下的一种视窗多重复用管理程序。在使用telnet或SSH远程登录linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的session.screen命令可以解决这个问题。
我记起来了,我也用过这个命令,有些命令执行很久的,如果断开连接就会终止执行,这个命令可以解决 ,裙子也越来越短了,好看
是哒
过来看看
欢迎
不想要的阿里云可以来我这里换一枚 follow 邀请码。
自动化提高效率。不错。
嗯嗯 不然就得重启了 上去再逐个启动 太烦人了
代码大佬都喜欢用Vim
主要是ssh连上去 实在没的用啊 哈哈
我一般用pluma,但是没在ssh上试过。
没用过这个 好用吗?
桌面下挺好用。
牛蛙!已经深秋了,妹子腿不冷吗?
屋里还好啊
灵妹妹美大腿的图案是什么,我记得脚上是蝴蝶,这个不会是蜜蜂吧?
魅纹
搭建博客需要什么技术呀?
linux常用命令,买个域名,买台服务器就可以了。
如果不想自己搭建直接去wordpress上开个账号也行
我用的就是99服务器好像
阿里的这个 99 的确性能不大行
一点进来,媳妇就问我:好看么? 我说:我说我在看技术资料你信么?
说“好看”😁
这个彩纹是真纹吗?
不是跶