簡體   English   中英

bash 腳本返回狀態 -13

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM