[英]the bash scripts returns status -13
場景:下面是兩個腳本,其中 python 腳本調用了 bash 腳本。
測試.py
import subprocess
p=subprocess.call(['bash','test.sh'])
f = open("demofile2.txt", "a")
f.write(p)
f.close()
測試.sh
echo "hello world"
觀察:直接執行 test.py 時工作正常。
問題:當我在 /service 下創建惡魔來運行文件時。 'p'(調用返回)的值為 -13。
注意:兩個腳本的 user:group 都是 root。 我正在使用centos8
如果有人有同樣的問題,答案就在於路徑的解決。
當我在命令行中執行 python 腳本時,它能夠找到該腳本。 但是當惡魔工具(甚至 systemd)運行腳本時,它無法找到 bash 腳本。 當我在 python 腳本中提供 bash 腳本(opt\test\test.sh)的絕對路徑時,它起作用了。
\opt\test\test.py
import subprocess
p=subprocess.call(['bash','opt\test\test.sh'])
f = open("demofile2.txt", "a")
f.write(p)
f.close()
\opt\test\test.sh
echo "hello world"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.