我目前正在使用一个小的bash脚本在Screen会话中启动.py文件并可以使用帮助。
我有这2个文件:
test.py(位于/ home / developer / Test /):
import os
print("test")
os.system("ping -c 5 www.google.de>>/home/developer/Test/test.log")
test.sh(位于/ home / developer /):
#!/bin/bash
Status="NULL"
if ! screen -list | grep -q "foo";
then
Status="not running"
else
Status="running"
fi
echo "Status: $Status"
read -p "Press [Enter] key to start/stop."
if [[ $Status == "running" ]]
then
screen -S foo -p 0 -X quit
echo "Stopped Executing"
elif [[ $Staus == "not running" ]]
then
screen -dmS foo sh
screen -S foo -X python /home/developer/Test/test.py
echo "Created new Instance"
else
exit 1
fi
它起作用,直到它必须启动python脚本aka。这一行:
screen -S foo -X python /home/developer/Test/test.py
当我在普通的shell中运行时,我得到:
test
sh: 1: cannot create /home/developer/Test/test.log: Permission denied
我的问题:
回答你的问题:
$ chmod 644 <user> <group> <script name>
screen -S foo -d -m /usr/bin/python /home/Developer/Test/test.py
在使用python exec的完整路径时;删除无用的前一行:
screen -dmS foo sh
脚本中的其他问题:
#!/usr/bin/python
)$Status
,而不是$Staus
touch test.log
)