Yesterday, I wrote and ran a python script
which executes a shell
using subprocess.Popen(command.split())
where command is string which constitutes .sh
script and its argument. This script was working fine until yesterday. Today, I ran the same script and now I am continuously hitting this error.
p=subprocess.Popen(shell_command.split()) File "/usr/lib/python2.7/subprocess.py", line 679, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child raise child_exception OSError: [Errno 8] Exec format error
I know there are similar questions that have been asked before related to this question, but in my case I tried everything which doesn’t solve my purpose. Using shell=True
does not work because my shell script calls an another shell script before which some environment has to be set in order to run that script. I am badly stuck in this. I just restart my system once. I am using ubuntu 12.04
EDIT:
import subprocess import os import sys arg1=sys.argv[1] arg2=sys.argve[2] shell_command = 'my_path/my_shell.sh ' + arg1 + ' '+ arg2 P = subprocess.Popen(shell_command.split()) P.wait()
my_shell.sh:
arg1=$1 arg2=$2 cd $TOP setup the environment and run shell script build the kernel ... execute shell command .....