Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Using IPC::Run to kill stuck process

by runrig (Abbot)
on Dec 13, 2013 at 01:27 UTC ( [id://1066941]=note: print w/replies, xml ) Need Help??


in reply to Using IPC::Run to kill stuck process

This one should work:
my @cmd = ('/usr/bin/ffmpeg', '-y', '-i', 'long_input.mov','long_outpu +t.wav');
Are you sure it doesn't work? And that it matches the command line that does work?

Update: And taking a step back, does system(@cmd) work?

Update2: Does long_output.wav exist at the time of execution? Is it possibly created within the script and you didn't close a filehandle yet?

Replies are listed 'Best First'.
Re^2: Using IPC::Run to kill stuck process
by filmotheklown (Initiate) on Dec 14, 2013 at 20:52 UTC

    You're right, I must have gotten mixed up in the process. The command works as you indicated. Thank you everyone for your help.

    Here's my final working code for completeness

    #! /usr/bin/perl use warnings; use strict; use IPC::Run qw(run timeout); my $from_file = '/home/product/ftp-temp/long.mov'; my $tmp_to = '/home/product/ftp-temp/out.wav'; my $in; my $out; my $err; my @cmd = ('/usr/bin/ffmpeg','-y','-i', $from_file, $tmp_to); eval { #16 seconds is long enough to convert about 288 minutes of audio #Current server converts about 18 minutes per second of runtime. #production version will use custom timeout based on expected #lengths of material. run \@cmd, \$in,\$out,\$err, timeout(16, exception=>'timeout'); }; if ($@ =~ /timeout/) { print "Timed out...\n\n"; } else { print "\n\nCompleted Task\n\n"; }

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1066941]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (9)
As of 2024-04-23 17:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found