subprocess.Popen strange bhaviour

2012-01-18 Thread Mac Smith
Hi,

I am using subprocess.Popen to start a movie ripping command HandBrakeCLI. My 
server is 64bit ubuntu server and has 8 cores. When the command starts it uses 
all 8 cores upto 80%-100% and works fine, but after 270 seconds the cpu usage 
of all the cores drops to 0% - 1%. I tried this many time this happens exactly 
after 270 seconds. Is there some predefined timeout??

--
Mac
-- 
http://mail.python.org/mailman/listinfo/python-list


reading multiline output

2011-12-22 Thread Mac Smith
Hi,


I have started HandBrakeCLI using subprocess.popen but the output is multiline 
and not terminated with \n so i am not able to read it using readline() while 
the HandBrakeCLI is running. kindly suggest some alternative. i have attached 
the output in a file.



output
Description: Binary data



--
Thanks

Mac-- 
http://mail.python.org/mailman/listinfo/python-list


Re: reading multiline output

2011-12-22 Thread Mac Smith

On 23-Dec-2011, at 6:17 AM, MRAB wrote:

 On 23/12/2011 00:33, Mac Smith wrote:
 Hi,
 
 
 I have started HandBrakeCLI using subprocess.popen but the output is
 multiline and not terminated with \n so i am not able to read it
 using readline() while the HandBrakeCLI is running. kindly suggest
 some alternative. i have attached the output in a file.
 
 The lines are terminated with \r, so read with read() and then split on
 \r.

read() will read the complete output and than i will be able to parse it, i 
want to read the output of the command in realtime.

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: reading multiline output

2011-12-22 Thread Mac Smith

On 23-Dec-2011, at 6:48 AM, MRAB wrote:

 On 23/12/2011 01:07, Mac Smith wrote:
 
 On 23-Dec-2011, at 6:17 AM, MRAB wrote:
 
 On 23/12/2011 00:33, Mac Smith wrote:
 Hi,
 
 
 I have started HandBrakeCLI using subprocess.popen but the output
 is multiline and not terminated with \n so i am not able to read
 it using readline() while the HandBrakeCLI is running. kindly
 suggest some alternative. i have attached the output in a file.
 
 The lines are terminated with \r, so read with read() and then
 split on \r.
 
 read() will read the complete output and than i will be able to parse
 it, i want to read the output of the command in realtime.
 
 Try telling it how much to read with read(size):
 
 def read_lines(output, line_ending=\n):
buffer = 
 
while True:
chunk = output.read(1024)
if not chunk:
break
 
buffer += chunk
 
while True:
pos = buffer.find(line_ending)
if pos  0:
break
 
pos += len(line_ending)
yield buffer[ : pos]
buffer = buffer[pos : ]
 
if buffer:
yield buffer
 -- 
 http://mail.python.org/mailman/listinfo/python-list

thanks, this helped. just need to correct line_ending=\n should be 
line_ending=\r

-- 
http://mail.python.org/mailman/listinfo/python-list