无法从python子进程执行shell脚本:权限被拒绝

2024-05-01 22:10:44 发布

您现在位置:Python中文网/ 问答频道 /正文

试着用谷歌搜索,但找不到与我的特殊问题有关的东西。我试图从python运行一个shell脚本,但是由于权限被拒绝错误,shell脚本不会运行。我运行的python代码是:

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

我得到的错误是:

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

我的shell脚本的内容是:

#!/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

提前谢谢。


Tags: run代码txt脚本权限databinsh
2条回答

因为你没有运行该脚本的权限。要运行该脚本,您需要授予可执行权限。

chmod a+x run.sh

检查run.sh模式,如果没有可执行标志,请使用命令设置它

chmod +x run.sh

相关问题 更多 >