是否可以在运行过程中禁用详细信息?

Tim*_*Tim 3 command-line options

我正在运行一个fls带有-v详细模式选项的程序(来自 Sleuth Kit)。但是时间太长了,程序从昨天开始还在运行。我猜它会在没有详细模式的情况下运行得更快,但是我不确定完成运行需要多长时间以及是否值得停止并重新运行它而不使用详细模式。所以我想知道是否可以在运行中关闭详细模式并在此之后恢复运行?谢谢!

Sha*_*off 6

正如 lynxlynxlynx 指出的那样,除非程序作者为此做出规定,否则您无法在程序运行时更改详细程度,但您可以避免将其打印到终端,以防出现瓶颈。

为此,请在告诉 shell 不要发送 SIGHUP 后关闭终端。大多数 shell 会在您尝试退出时向任何仍在运行的作业发送 SIGHUP。您可以告诉外壳不要这样做。有多种方法可以做到这一点;最直接的大概就是用了disown

如果还没有,请使用 暂停作业ctrl+z,然后使用 使其在后台再次bg运行,然后运行disown。shell 不再将此进程作为作业进行跟踪,因此它在退出时不会发送 SIGHUP。

如果您已经将程序置于后台,那么如果在它之后启动了任何其他后台作业,您将需要您感兴趣的程序的作业规范作为参数传递给bgdisown


lyn*_*ynx 5

也许有一个 hack 可以将作业的输出文件描述符更改为/dev/null,但我不知道。无论如何,程序仍然会写所有这些行,它们只会被丢弃。因此,这仅在终端显示是瓶颈时才有帮助,而不是消息生成。