所以我有一个 ubuntu 服务器,它有两个在后台运行的 tmux 会话,还有一些其他应用程序在后台运行。有没有办法创建一个脚本,可以正常退出 tmux 上的进程(例如 Cntrl C)并关闭所有服务并重新启动?
我的机器几天后就会停止连接到互联网,我想让系统自动重启。我让所有服务重启,并在重启后重启多路复用器。
我只需要弄清楚如何让这台计算机顺利重启。
请提供任何可以提供帮助的信息。请记住,我是个菜鸟,但了解基础知识。
先感谢您。
答案1
事实上shutdown
及其等价物是优雅。它们首先向进程发送 SIGTERM (15),只有当它们在一定时间内没有响应时,它们才会发送 SIGKILL (9)。
SIGTERM 是按下CTRL+时发出的信号C。应用程序可以拦截该信号并正常关闭自身(例如刷新文件、提交/回滚事务等)。所有合理的应用程序都以这种方式运行。
如果进程过了一段时间仍未停止,则随后会向它们发送 SIGKILL。SIGKILL 有点像铁锤。应用程序无法拦截该信号 — 这就像切断电源一样。
所以,是的,shutdown
或者reboot
通常是安全且优雅的。
参考: