scp命令放后台运行

0    484    1

👉 本文共约1649个字,系统预计阅读时间或需7分钟。

若使用bbcp可以参考:https://www.xmmup.com/biscpgengkuaidechuanshugongjubbcpjieshao.html

1、使用nohup和&命令

通常需要后台运行任务时,no­hup 是最自然而然想到的工具,但 scp 想要使用 no­hup 后台运行需要有一个额外的工作需要做,那就是需要解决两台服务器之间需要输入密码验证的问题。可以配置互信,然后再使用 no­hup 启动即可。

2、使用bg和disown命令

scp放后台运行,总体过程:

 当然你也可以使用下面的命令查看后台任务或者将任务切换到前台:

jobs //查看任务,返回任务编号n和进程号

bg %n //将编号为n的任务转后台运行

fg %n //将编号为n的任务转前台运行

ctrl+z //挂起当前任务

ctrl+c //结束当前任务

注意:直接关闭命令行会结束后台正在执行的进程,在执行exit退出命令后不影响后台执行的进程。

使用disown -h 将这个作业忽略HUP信号

若文件比较大,使用scp,前台跑经常超时,那么使scp放后台跑完成相关的文件传输:

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

注:-l 为限制scp占用的宽带,使得scp不会把网络都占满,影响其它系统的网络使用 单位为:kbit/s 例子中大概为4.8M/s 40200*1000/8 bit 每秒

输入密码后

输入ctrl + z 暂停

此时查看jobs:

bg将该任务号放入后台:

查看任务已经在后台运行:

使用disown -h 将这个作业忽略HUP信号:

退出登录,再次进去查看任务运行状态和父进程号:

发现scp任务继续运行,没有因为会话断开而中断,父进程号变为1。

如果有其他任务需要使用nohup后台运行,但执行时却忘记了使用nohup,也可以参照此方法进行设置。

但是,并不是所有的命令都可以使用该方法,我测试的时候bbcp就不能放后台运行,报错:

3、使用screen命令

screen 是一个常常用来管理多个会话的工具,它自身的特性让它经常被用来后台运行任务。如果我们有多个后台任务的需求时,使用 screen 来开启多个会话会是一个很方便的方法。

安装:

screen 的详细使用可以参考:https://www.xmmup.com/linuxzhiscreenminglinghoutaiyunxing.html

我这里只列出几个常用的命令。

  • screen -S xxx(新建一个名叫xxx的会话,不添加xxx则无名)
  • screen -r xxx(回到名叫xxx的会话,如果不添加xxx则是回到最近一次会话。xxx也可以是screen -ls中列出的会话id)
  • screen -ls (列出所有的会话)
  • ctrl + a ; d(在会话中先执行ctrl+a,再按下d。作用是暂时离开会话,意味着将会话丢到了后台执行)
  • ctrl + a ; c(在会话中先执行ctrl+a,再按下c。作用是在该会话中再新建一个窗口,可以在新窗口中执行一个新任务)
  • ctrl + a ; n(在会话中先执行ctrl+a,再按下n。作用是在该会话中跳转到下一个窗口)

那么对应到后台执行 scp 即可按照如下步骤操作:

  • 新建一个会话

  • 执行scp命令

  • 暂时退出screen的会话,将任务后台运行

4、使用tmux命令

参考:https://www.xmmup.com/linux-tmuxminglinghoutaiyunxing.html

    头像

    小麦苗

    学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

    您可能还喜欢...

    发表评论

    您的电子邮箱地址不会被公开。

    4 × 5 =

     

    嘿,我是小麦,需要帮助随时找我哦
    • 18509239930
    • 个人微信

    • 麦老师QQ聊天
    • 个人邮箱
    • 点击加入QQ群
    • 个人微店

    • 回到顶部
    返回顶部