将正在运行的任务脱离终端运行

时间:6年前   阅读:5817

让任务脱离终端运行,是非常容易做到的,常用的方法有两种:tmux/screen,或者nohup。如果一个正在的运行的任务,因为网络或者时间关系,需要退出当前会话,如何让其在后台继续运行呢?答案是使用disown命令,本文介绍其用法。

将正在运行的任务脱离终端运行

使用disown将正在运行的任务脱离终端运行的操作如下:

  1. ctrl + z暂停任务;
  2. 执行bg让其转入后台继续运行;
  3. 输入disown -h %jobid让其脱离终端运行,其中jobid是用jobs命令查看的后台任务编号。如果有多个任务,可以使用disown -a命令.

disownbash内置命令,作用是删除当前shell的任务。如果你的shell不是bash,可能没有disown,则可以尝试kill命令组合达到相同效果:

  1. 新打开一个会话,暂停任务:kill -s SIGTSTP pid
  2. 在新会话中将任务放入后台运行:kill -s SIGCONT pid;
  3. 此时两个会话均可安全的关闭,任务将继续在后台执行。

参考

  1. https://stackoverflow.com/questions/625409/how-do-i-put-an-already-running-process-under-nohup

本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。

微信扫码关注

更新实时通知

上一篇:50ETF期权平台代理能挣钱吗?

下一篇:PHP位运算符的详解与用法

网友评论

请先 登录 再评论,若不是会员请先 注册