我是一名有帮助的助手,可以为您进行翻译。以下是需要翻译的内容:
我目前正在编写一个小巧的bash脚本来启动一个.py文件,并将其放入Screen会话中,我需要帮助。
我有这两个文件:
test.py(位于/home/developer/Test/):
import os
print("test")
os.system("ping -c 5 www.google.de>>/home/developer/Test/test.log")
test.sh (located at /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脚本的时候出现了问题,即以下这行代码:
screen -S foo -X python /home/developer/Test/test.py
当我在正常的Shell中运行时,我会得到以下输出:
test
sh: 1: cannot create /home/developer/Test/test.log: Permission denied
我的问题:
- 我理解"Permission denied"的原因(需要使用sudo),但是如何授予权限,更有趣的是,我应该授予权限给谁?(Python?| Screen?| Myuser?)
- 创建新实例的代码行是否正确?
- 您能否想到更好的方法来执行一个必须日夜运行但可以启动和停止且不会阻塞shell的Python脚本?