I want to execute bash command
'/bin/echo </verbosegc> >> /tmp/jruby.log' in python using Popen. The code does not raise any exception, but none change is made on the jruby.log after execution. The python code is shown below.
>>> command='/bin/echo </verbosegc> >> '+fullpath >>> command '/bin/echo </verbosegc> >> /tmp/jruby.log' >>process = subprocess.Popen(command.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True) >>> output= process.communicate()[0] >>> output '</verbosegc> >> /tmp/jruby.log\n I also print out the process.pid and then check the pid using ps -ef | grep pid. The result shows that the process pid has been finished.
split()this way is a code smell. Don't do it.