用SSH管理linux服务器,有时可能要下载点大的软件或者文件包.又或者要打包一个上5G的文件夹,那是多么漫长的等待….
更麻烦的是,下载的时候如果SSH 客户端N久没动作会断掉连接,于是下载到一半的东西也会跟着死掉.
当然,你说我可以打开多个SSH客户窗口来操作….,那我不得不说,这是个笨办法.
比如我想打包一个文件夹,可以用如下的命令
#tar zcvf file.tar.gz /path/document/*
不想等,就把他放到后台去(后面加个&)
#tar zcvf file.tar.gz /path/document/* &
如果你要回来.就使用fg 命令
我们想当然的,下载也是这样
#wget http://www.phpv.net/file.tar.gz &
但如果你超时或者有事离开而退出SSH 那正在下载的file.tar.gz 文件也会随之停下了…
怎么办?让我们用nohup 来完成/
NAME nohup - run a command immune to hangups, with output to a non-tty
SYNOPSIS nohup COMMAND [ARG]… nohup OPTION
DESCRIPTION Run COMMAND, ignoring hangup signals.
--help display this help and exit
--version
output version information and exit
REPORTING BUGS Report bugs to <bug-coreutils@gnu.org>.
SEE ALSO The full documentation for nohup is maintained as a Texinfo manual. If the info and nohup programs are properly installed at your site, the command
info nohup
should give you access to the complete manual.
以上是man nohup出来的.
用法很简单,就在命令前加 nohup
#nohup wget http://www.phpv.net/file.tar.gz
nohup: appending output to `nohup.out' 没反映……………………………死机了???
CTRL+Z 回到命令行模式…
要避免上面的方法,就加个 & 在命令后面
#nohup wget http://www.phpv.net/file.tar.gz &
好了.现在随便你怎样exit,睡一觉回来看,什么工作都完成了.