我有一个脚本,用于将历史数据记录到Amazon Redshift实例中。该脚本可能需要运行很长时间,可能需要超过24小时才能运行完成。
我已经尝试过ssh-ing进入我的EC2实例并从那里运行脚本,但是几个小时后我离开我的笔记本电脑或关闭盖子并且管道坏了,在脚本运行完成之前停止脚本。
如何在我的EC2上运行脚本,然后再也不用担心它会过早地停止执行?
答案 0 :(得分:3)
nohup yourshellcommandhere &
将在后台运行,并且不要求您激活交互式ssh会话。
答案 1 :(得分:0)
与@johncorser一样,请使用Screen:
您可以稍后注销并重新附加屏幕。
yum install screen
或apt-get install screen
然后输入screen
。
它会给你一个虚拟的" shell,你可以" detatch"。
尝试:
screen
sleep 999
CTRL-a then d
您可以再次注销并重新登录,然后执行screen -r
重新连接虚拟终端。
大多数屏幕的热键都以CTRL-a
(小写字母a)开头,然后是一些字母。
如果您只想学习一个,请了解显示帮助屏幕的CTRL-a, ?
并列出其他键。
另一个非常有用的热键:
CTRL-a, c
:创建另一个虚拟终端
CTRL-a, n
:遍历所有虚拟终端
记住CTRL-a, ?
,然后尝试全部:)