Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: 'system @list' in background?

by ikegami (Pope)
on Jan 20, 2014 at 15:22 UTC ( #1071327=note: print w/replies, xml ) Need Help??


in reply to 'system @list' in background?

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: note [id://1071327]
help
Chatterbox?
[Corion]: Option a) would mean launching cmd.exe /k c:\path\to\ batchfile- launching-perl- script.cmd. Option b) would be to add pause as the last line of said batch file.
[LanX]: First day after holidays ... and already stressed by the fact that colleagues changed stuff without communication ... apparently I'm the only one trying to fight entropy
[Corion]: LanX: The command is always in the history if you typed it in before. If you didn't type the command into the command line, it will not be there. I think there is doskey which can stuff command lines into the history
LanX damns the cult of CB ;-)
LanX WTF WTF WTF
[LanX]: please forget my last 3 posts
[LanX]: Yeah option a doesn't go into history
[LanX]: probably I need to teach the app to restart after C-c Kill
[Corion]: LanX: Maybe have an infinite-loop cmd file? Much easier than trying to manage that from within Perl IMO
[Corion]: Alternatively, relaunch the application from cron (or a Windows cron) every minute

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (12)
As of 2017-03-27 15:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Should Pluto Get Its Planethood Back?



    Results (320 votes). Check out past polls.