在后台打开屏幕,并启动一个过程

我想要做到以下几点:重启后,我想开始一个屏幕,然后应该执行一个脚本。 所以我search了crontab和screen,我也find了一些答案。 但是,没有什么适合我的。 我正在运行一个安装了屏幕的Ubuntu Linux,我想运行一个Python脚本。

下面的工程screen -d -m打开一个屏幕但不运行任何东西。 相反,我想创build一个屏幕并启动一个脚本。 从网上find的答案告诉我这是通过screen -d -m scriptname来完成的。 在我的情况下,scriptname是main.py(我检查它是可执行的)。

但是, screen -m -d /path/to/main.py不会创build屏幕。 这是我的控制台输出

 $ screen -d -m /opt/main.py $ screen -x There is no screen to be attached. 

但是,这工作,但不执行python脚本:

 $ screen -d -m $ screen -x 

我在这里做错了什么? 谢谢 :)

  • 还有什么替代scheme来运行计划的工作?
  • 如何改变时间cron.daily在Linux中运行
  • cron作业删除具有特定名称的文件
  • date+%s毛刺
  • 密码安全升级后,用户不能使用crontab
  • cron不会执行第二部分的命令
  • One Solution collect form web for “在后台打开屏幕,并启动一个过程”

    其实screen -d -m /path/to/executable-python-script.py工作正常。

    但是,脚本终止后,屏幕自动closures。 另外,请记住, screen -d -m /usr/bin/python3 /path/to/executable-python-script.py不起作用!

    因此,使用下面的python脚本testscript.py来testing:

     #!/usr/bin/python3 # -*- coding: utf-8 -*- import time def main(): for i in range(10): print("Python3 Script " + str(i)) time.sleep(5) main() 

    然后做:

    1. chmod +x testscript.py
    2. screen -d -m /path/to/testscript.py
    3. 快速做一个screen -x来检查脚本是否正在运行
    服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.