On Thu, Jan 8, 2015 at 1:00 PM, Ganesh Pal <ganesh1...@gmail.com> wrote: > I'm trying to use threads to achieve the below work flow > > 1. Start a process , while its running grep for a string 1 > 2. Apply the string 1 to the command in step 1 and exit step 2 > 3. Monitor the stdout of step1 and print success if the is pattern found
If by "grep" you mean "search", then this would be best done by spawning a subprocess and monitoring its output. https://docs.python.org/3/library/subprocess.html Set stdout=PIPE, then read from the stdout member, and you'll be reading the program's output. Something like this: with subprocess.Popen(["find","/","-name","*.py"],stdout=subprocess.PIPE) as findpy: for line in findpy.stdout: # do something with line You'll get lines as they're produced, and can use standard string manipulation on them. I don't know what your step 2 is, but you can set stdin to be a pipe as well, and then you just write to your end and the process will receive that on its standard input. No threads needed; just your Python process and the subprocess. ChrisA -- https://mail.python.org/mailman/listinfo/python-list