On 13/07/17 16:42, [email protected] wrote:
I have created one thread in python, and that thread is running in infinite loop, but
when I was trying to kill a process by making use of subprocess.call("my ps
command") Its not actually working
Here is the code,
import threading
import subprocess
def B():
while True:
cmd="ps -ef | grep 'shell.py --server' | awk '{print $2}' | xargs kill
-9"
subprocess.call(cmd, shell=True)
def A():
th = threading.Thread(target=B)
th.start()
In above example, subprocess.call() getting executed but not actually killing
the process that I want. If I executed command manually then its working fine,
but in thread its not.
Have you tried checking the return code from subprocessor.call(), or
sending the subprocess's stdout and stderr to file? It's probably best
if you don't run the thread in an infinite loop when you do that. Why
are you doing that anyway?
--
Rhodri James *-* Kynesim Ltd
--
https://mail.python.org/mailman/listinfo/python-list