【问题标题】:Can I run a Perl script from within another that is totally independent? [duplicate]我可以从另一个完全独立的 Perl 脚本中运行吗? [复制]
【发布时间】:2019-04-21 11:21:10
【问题描述】:

在 Linux 中,我希望 Perl 脚本 A 启动 Perl 脚本 B。但是,我希望脚本 A 继续运行而不等待脚本 B 返回。而且我希望 B 完全独立,这样当脚本 A 结束时,脚本 B 仍在运行。

这可能吗?

【问题讨论】:

  • 是的,启动 B,然后启动 & 以使进程后台运行,而无需等待返回。
  • 听起来您正在寻找fork() & friends。对于 Perl 实现,我会咨询 man perlipcman perlfork
  • @DavidC.Rankin 但是,当我从浏览器运行脚本时,我想忽略系统的返回。
  • 是的,是的,完全正确。没有要求你等待任何东西。这是一个“即发即弃”的提议——就像最初给我们 200 美元锤子的同一个人带来的任何优质导弹一样......

标签: linux perl


【解决方案1】:

您可以在第二个脚本启动的末尾附加 & 符号,如下所示:

system("/script/myscript.sh $params &");

如果您运行的其中一个发行版无法正常工作,您将不得不使用 fork

Proc::Background

【讨论】:

  • 这是一个奇怪的 Perl 脚本,先生!
  • 我和你一起去了首选。但是我在系统调用的末尾添加了> /dev/null &。这确保我没有从第二个脚本中得到任何不需要的输出来干扰我的第一个。谢谢
猜你喜欢
  • 2013-09-19
  • 1970-01-01
  • 2019-10-19
  • 1970-01-01
  • 2019-01-19
  • 2019-09-03
  • 2017-12-01
  • 1970-01-01
  • 2010-12-06
相关资源
最近更新 更多