【发布时间】:2025-12-02 04:45:01
【问题描述】:
我有一个大的 perl 脚本(大约 650 行),它可以解析 imdb.com、tvrage.com 上的数据,并且可以使用 last.fm API 和其他一些站点获取数据。该脚本使用了相当多的 Perl 模块,因此加载需要几秒钟(在旧 PC 上)。将脚本快速发送到后台有哪些不同的方式(包括任何“丑陋的黑客”)?
我将从我知道的几个开始。
- 以
script.pl &运行脚本 - 以
screen -dmS script.pl运行脚本 - 在脚本中使用
fork() - 使用App::Daemon 或Proc::Fork
3 和 4 的问题是当脚本很大(比如 500 到 600 行)并且使用很多模块时,进程分叉并发送到后台需要一些时间。使用 #1 和 #2,它们会立即发送到后台,因此我正在寻找更多类似的解决方案。
注意:我不需要从后台进程中获取任何数据。他们正在写文件。我也不需要知道后台进程是否成功完成任务。
【问题讨论】:
-
您希望后台进程在终端窗口关闭后仍然存在吗?
-
并非如此。该脚本旨在由在屏幕会话中运行的另一个进程执行。