长时间执行一个命令或者脚本的方法
方法一:
nohup sh /usr/local/sbin/sleep.sh &
加’&’表示将进程丢到后台,但是当退出该终端时很有可能这个脚本也会退出,而在前面加上’nohup’就没有问题了。nohup的作用就是不挂断地运行命令。
- 方法二:
screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的SSH连接窗口那样。 当你有某个需要长时间运行的命令或者脚本时就打开一个screen会话,然后运行该任务,按ctrl +a 再按d退出会话,不影响终端窗口上的任何操作。
命令 | 说明 |
---|---|
yum install -y screen | 安装screen工具。 |
screen | 打开一个screen回话。 |
先按Ctrl+a,再按d | 退出screen会话。 |
screen -ls | 查看打开的screen会话。 |
screen -r 编号 | 退出后再次登录某个会话。 |
Ctrl+d或exit | 结束screen会话。 |