Currently, bno_plot.py uses os.execvp which does not show enough information
when executed command is not found. For example, when gnuplot is not found
bno_plot.py shows the following messages:
Traceback (most recent call last):
File "/usr/local/bin/bno_plot.py", line 123, in <module>
os.execvp(cmd[0], cmd)
File "/usr/lib64/python2.7/os.py", line 344, in execvp
_execvpe(file, args)
File "/usr/lib64/python2.7/os.py", line 368, in _execvpe
func(file, *argrest)
OSError: [Errno 2] No such file or directory
Users can't understand what happend directly from the message.
Instead of os.execvp, this patch uses os.system which shows the following
messages when gnuplot not found:
sh: gnuplot: command not found
Signed-off-by: Eiichi Tsukata <devel@etsukata.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
pid = os.fork()
if pid == 0:
- cmd = '/usr/bin/gnuplot %s/plot.cmds -' % tmpdir
+ cmd = 'gnuplot %s/plot.cmds -' % tmpdir
if verbose: print 'Executing %s' % cmd
- cmd = cmd.split(None)
os.chdir(tmpdir)
- os.execvp(cmd[0], cmd)
+ os.system(cmd)
sys.exit(1)
os.waitpid(pid, 0)