Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

'system @list' in background?

by vkon (Curate)
on Jan 19, 2014 at 18:30 UTC ( #1071202=perlquestion: print w/ replies, xml ) Need Help??
vkon has asked for the wisdom of the Perl Monks concerning the following question:

Hi,

according to documentation,
I can issue

system("cmd foo bar&")

so the process runs in background.

is this possible the same but when I specify 'system @list' syntax?

Thanks in advance!

Comment on 'system @list' in background?
Download Code
Re: 'system @list' in background?
by Anonymous Monk on Jan 19, 2014 at 22:22 UTC

    The system @list form bypasses the shell, so running the process in the background is possible, but it takes a lot more code if you want to implement it yourself. Before you try to implement this yourself it's probably much easier to just use a module like IPC::Run.

Re: 'system @list' in background?
by Anonymous Monk on Jan 20, 2014 at 02:46 UTC
Re: 'system @list' in background?
by ikegami (Pope) on Jan 20, 2014 at 15:22 UTC
    system('cmd foo bar &')
    is short for
    system('/bin/sh', '-c', 'cmd foo bar &')

    But you're surely asking to pass cmd, foo and bar as separate args.

    We can use sh to build the command:

    system('/bin/sh', '-c', '"$@" &', 'dummy', $prog, @args);

    Or we can use a Perl module to build the command:

    use String::ShellQuote qw( shell_quote ); system(shell_quote($prog, @args) . ' &'));

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1071202]
Approved by hdb
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2015-07-06 03:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls