如何判断终端(命令行)中的cp进程是否卡住?

问题描述 投票:0回答:3

我强迫自己养成了在 OS X 计算机上使用命令行“cp”命令来复制大型目录的习惯,而不是通常的“单击并拖动”方法。然而,第一次看起来这个过程可能会被卡住。

在此过程中我使用了 Ctrl + t 命令来确定某些内容是否仍处于活动状态。其输出如下所示:

load: 1.79  cmd: cp 657 running 23.54u 422.25s
load: 1.73  cmd: cp 657 running 23.54u 422.25s
load: 1.91  cmd: cp 657 running 23.54u 422.25s
load: 1.97  cmd: cp 657 running 23.54u 422.25s
load: 1.34  cmd: cp 657 running 23.54u 422.25s
load: 1.33  cmd: cp 657 running 23.54u 422.25s

请注意,上面的输出是由 ctrl + t 命令每隔几分钟生成的。鉴于每行中的“正在运行...”都是相同的,我开始倾向于它被卡住。

我应该通过 ctrl + c 取消该进程并使用 merge cp 命令重新开始吗?

非常感谢对此的任何帮助。

macos command-line
3个回答
4
投票

在终端上引用“man cp”—

“-v 使 cp 变得详细,在复制文件时显示文件。”

通过使用 -v 标志,它可以实时打印出正在复制的文件的日志。如果您愿意的话,它可以充当一种活动日志或监视器。尽管 @john elemans 提供了一个很好的提示,即附加“&”并转到文件复制到的目录,但这并不完全是我想要的,特别是在比较使用 -v 标志的选项时。

后续编辑: 我还应该指出,通过上述过程,除非您复制/移动非常大的文件,否则“活动”日志将快速打印出正在复制的文件的路径。因此,如果它在任何给定文件上“卡住”的时间过长,请调查该特定文件并确定其大小是否足以保证日志在该文件上“卡住”的时间长度。从那里,您可以对天气状况做出合理的评估,然后继续取消或推迟。

附注- 我忘了我很久以前就发布过这个问题了。


1
投票

我一般把 cp 命令放到后台(在行尾放一个 &)。然后您可以转到指定文件夹并查看是否正在添加文件。

fwiw;几年前,我经常需要移动包含数十万个文件的文件夹,而 cp 确实偶尔会挂断。我最近没有这样做,所以我不知道它是否有所改善。


0
投票

当我复制文件备份 20 GB 时

cp

,为了检查复制是否卡住,我转到目标目录并检查文件大小是否增加

ls-l

© www.soinside.com 2019 - 2024. All rights reserved.