如何将命令行参数传递给应该在后台运行的脚本?

时间:2013-12-04 13:06:59

标签: perl bash

如何将命令行参数传递给应该在后台运行的脚本? 我尝试了下面的命令,它给出了一个错误:

system("perl sample.pl& 1");
Error: 1: command not found

2 个答案:

答案 0 :(得分:3)

在后台运行的程序的参数必须放在&符号之前:

perl sample.pl 1 &

您输入的内容被shell识别(我假设您使用的是Unix或Linux版本)作为2个单独的命令:

perl sample.pl

在后台运行,

1

shell报告1不是有效命令。

答案 1 :(得分:0)

不起作用的原因是由于所有参数必须在&符号之前

所以system("perl sample.pl 1 &");

或者你可以使用exec()或反引号。例如`perl sample.pl 1 &`

如果你使用exec,只要知道它永远不会返回系统所在的位置。