Linux下使Shell 命令脱离终端在后台运行

转自:http://www.linuxidc.com/Linux/2011-05/35723.htm

你是否遇到过这样的情况:从终端软件登录远程的Linux主机,将一堆很大的文件压缩为一个.tar.gz文件,连续压缩了半个小时还没有完成,这时,突然你断网了,你登录不上远程Linux主机了,那么前面的半个小时就会前功尽弃,你非常气愤……

在Linux下,如果你要执行的shell命令耗时特别长,并且:

  • 你的网络不稳定,随时可能断网;
  • 你在执行了shell命令之后必须要关闭终端软件(例如SecureCRT)。

那么你就需要以脱离终端的方式在后台运行这个shell命令。

方法如下:

  1. 输入命令:
nohup 你的shell命令 &
  1. 回车,使终端回到shell命令行;

  2. 输入exit命令退出终端:

exit
  1. 现在可以关闭你的终端软件了,等过足够的时间,让你的shell命令执行完了再上去看结果吧。

其中,nohup命令可以让你的shell命令忽略SIGHUP信号,即可以使之脱离终端运行;“&”可以让你的命令在后台运行。

以脱离终端的方式在后台运行shell命令有这样几个好处:只要你执行过了命令,那么你的网络中断不会对你有任何影响,并且你就可以关闭终端软件了

nohup默认会将log输出到当前目录下的nohup.out文件中,可以查看其内容:

cat nohup.out
    原文作者:Devid
    原文地址: https://www.jianshu.com/p/c9cb2903eb7b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞