从一台服务器拷贝数据到另一台服务器,可以通过scp来实现,但是当数据过大的时候,我们不能一直保持开机状态,等待任务结束,这个时候,我们可以将运行状态转化到后台运行,即使你退出服务器,也不影响任务的正常运行,一切都在后台运行。
上图的操作,就是将正在通过scp传输的任务转移到后台运行
1、输入ctrl + z 暂停任务,然后通过jobs命令可以查看正在执行或者暂停的任务
2、通过bg命令将你想后台执行的任务放到后台
执行bg %1命令,百分号后面的数字,就是上面jobs查看时的[1]+任务号
再次执行jobs命令,查看任务已经在后台运行。
但这个时候,我们如果退出服务器的话,任务也将停止,我们想退出服务器,任务继续执行的话
3、使用disown -h 将这个作业忽略HUP信号
执行 disown -h %1 命令,百分号后面的数字,就是上面jobs查看时的[1]+任务号
再通过jobs查看,在运行中
查看任务运行状态和进程
ps -ef|grep scp
这个时候我们退出服务器 exit,然后再登陆到服务器执行ps -ef|grep scp命令查看任务运行状态和进程,发现scp任务继续运行,没有因为会话断开而中断,父进程号变为1。这样就可以实现,任务后台自动运行。
如果有其他任务需要使用nohup后台运行,但执行时却忘记了使用nohup,也可以参照此方法进行设置。