nohup - 不挂断地运行命令
如果你要在运行一个进程、希望在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行。nohup就是不挂起的意思(no hang up)。
语法
nohup Command [ Arg ... ] [ & ]
nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 &
到命令的尾部。
输放输出
- 如果标准输入是终端,重定向到/dev/null;
- 如果标准输出是终端,重定向到'nohup.out'文件,如果当前目前不能创建、重定向到$HOME/nohup.out;
- 如果错误输出是终端,重定向到标准输出。
-
如果要保存输出到文件,在命令中使用重定向即可:
nohup command > myout.file 2>&1 &
退出状态
该命令返回下列出口值:
- 126 可以查找但不能调用 Command 参数指定的命令。
- 127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
- 否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
另外有两个常用的ftp工具ncftpget和ncftpput,可以实现后台的ftp上传和下载,这样我就可以利用这些命令在后台上传和下载文件了。
也可以使用screen工具来虚拟一个长期运行的控制台。