Can't execute shell script from python subprocess: permission denied

匿名 (未验证) 提交于 2019-12-03 01:49:02

问题:

Tried googling but couldn't find something that relates to my particular problem. I'm trying to run a shell script from python but the shell script wouldn't run because of a permission denied error. The python code I'm running is:

process = subprocess.Popen('run.sh', shell=True, stdout=subprocess.PIPE) process.wait() .... os.killpg(pro.pid, signal.SIGTERM) 

The error I'm getting:

python RunScript.py "input" /bin/sh: 1: run.sh: Permission denied 

The contents of my shell script is:

#!/bin/sh abspath=$(cd "$(dirname "$0")"; pwd) CLASSPATH=$CLASSPATH:$abspath/"lib/*":$abspath/"bin" export CLASSPATH java -classpath $CLASSPATH my.folder.path.Class $abspath/../data/data.txt $abspath/../data/data2.txt 

Thanks in advance.

回答1:

Check your run.sh mode, if no executable flag, set it with command

chmod +x run.sh 


回答2:

its because you don't have permission to run that script. You will need to give executable permission for that script to run.

chmod a+x run.sh



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!