在perl控制台中使用外部命令

时间:2014-05-14 12:19:10

标签: perl

我使用perl comnsole Term :: ReadLine :: Gnu编写了一个脚本。 当我在后台的控制台外部命令时,如何运行? 我已经设法支持各种外部命令,如ls -l等,但我也希望支持在后台运行命令,如emacs&,但我似乎无法在一个进程中运行背景。 有解决方案吗?

1 个答案:

答案 0 :(得分:0)

要在后台执行某些操作,您可以使用system

#!/usr/bin/env perl

use strict;
use warnings;

system q(emacs &);
print "hello";

这将在后台打开emacs并立即打印“hello”。如果您删除了命令中的&,它将等待emacs关闭,然后再打印“hello”。

正如@Brad在评论中指出的那样,请注意,这只适用于shell理解&的系统。例如,如果您在Windows上运行,则必须将system行更改为以下内容:

system q(start /b program.exe);

有关详细信息,请参阅system documentation