如何更改代码,使其在重新启动后工作,并在终端中可见


下面是我的代码。我使用crontab进行自动启动,但一切都不是我想要的那样。目标是在启动树莓之后,终端会打开,程序会在其中运行,这样当你键入";再见";节目结束了(我已经有了(。
import os
import sys
import subprocess
if os.geteuid() == 0:
while True:
file = open("here is my file path")
print(file.read())
my_input = input("Do you want to close this program? Type bye if yes")
if my_input== 'bye':
print("bye")
break
else:
subprocess.call(['sudo', 'python3'] + sys.argv)

如何更改代码,使其在重新启动后工作并在终端中可见?

使用守护进程服务可能比";cron";。但这并不重要,因为脚本会检查用户是否是root用户(geteuid(((,如果不是这样,则会尝试执行sudo,因此sudo只会失败,因为脚本没有权限。如果您的脚本有一个标准的用户uid,并且它是由root执行的,那么您必须调用seteuid(0(来设置root 的权限

最新更新