我已经开始使用wget. 关闭ssh会话后,如何查看下载过程?
场景:我开始下载,然后关闭我的电脑。第二天我ssh进入服务器并想查看下载是否仍然有效、完成或已中断。
Ija*_*han 13
如果您运行 wget 并关闭终端或终止您的 ssh session ,它也会终止 wget 进程。即使在会话关闭后,您也需要运行 wget 并使其保持运行。
为此,有许多工具。
wget -bqc http://path-to-url/linux.iso
Run Code Online (Sandbox Code Playgroud)
您将在屏幕上看到一个 PID:
在后台继续,pid 12345。
在哪里,
-b : Go to background immediately after startup. If no output file is specified via the -o, output is redirected to wget-log.
-q : Turn off Wget’s output aka save disk space.
-c : Resume broken download i.e. continue getting a partially-downloaded file. This is useful when you want to finish up a download started by a previous instance of Wget, or by another program.
Run Code Online (Sandbox Code Playgroud)
nohup 命令
您还可以在退出 shell 提示符后使用 nohup 命令来执行命令。语法是:
$ nohup wget -qc http://path-to-url/linux.iso &
## exit from shell or close the terminal ##
$ exit
Run Code Online (Sandbox Code Playgroud)
disown bash 命令
另一种选择是使用 disown 命令,如下所示:
$ wget -qc http://path-to-url/linux.iso &
[1] 10685
$ disown wget
$ ps
PID TTY TIME CMD
10685 pts/0 00:00:00 wget
10687 pts/0 00:00:00 bash
10708 pts/0 00:00:00 ps
$ logout
Run Code Online (Sandbox Code Playgroud)
屏幕命令
为此,您也可以使用 screen 命令。
经过一番谷歌搜索后,我发现了一个名为 Screen 的应用程序,找到了答案。
在服务器 ( sudo apt-get install screen) 上安装后,您可以通过 SSH 连接到服务器并在服务器上打开一个屏幕会话screen -S SESSION_NAME(将 SESSION_NAME 替换为您喜欢的任何名称)。然后运行 WGET,下载运行后,使用 CTRL+a 退出会话,然后按 d(从会话中分离)。您可以同时运行多个会话(具有不同的名称)。
稍后重新登录后,您可以通过 SSH 连接到服务器并使用screen -r SESSION_NAME(重新连接到会话)重新打开服务器上的屏幕会话来检查进程。
会话完成后,使用 CTRL+a 终止它,然后按 k(终止会话)。
这就像在虚拟终端中拥有一个虚拟终端一样。
| 归档时间: |
|
| 查看次数: |
17143 次 |
| 最近记录: |