python - 在 Ubuntu 中启动时运行 Python 脚本

标签 python linux shell ubuntu

我有一个简短的 Python 脚本,需要在启动时运行 - Ubuntu 13.10。我已经尝试了我能想到的一切,但无法让它运行。脚本:

#!/usr/bin/python
import time
with open("/home/username/Desktop/startup.txt", 'a') as f:
    f.write(str(time.time()) + " It worked!")

(实际的脚本有点不同,因为我只是将它用于测试目的,但你明白了。)

我已经尝试了以下所有方法,但没有运气:

  • 把命令python startuptest.py放到crontab中,作为@reboot python/home/username/Documents/startuptest.py,作为普通用户和sudo

  • 把命令python/home/username/Documents/startuptest.py放到/etc/rc.local

  • 打开 Ubuntu 的启动应用程序并将命令放在那里

  • 完成上述所有操作,将命令放入 shell 脚本 而是调用那个 shell 脚本

没有任何作用。我觉得我错过了一些简单的东西。有任何想法吗? (如果我只是从终端运行命令,脚本运行良好。)

最佳答案

说明

  • 将python文件复制到/bin:

    sudo cp -i/path/to/your_script.py/bin

  • 添加新的 Cron 作业:

    sudo crontab -e

    滚动到底部并添加以下行(在所有 #'s 之后):

    @reboot python/bin/your_script.py &

    行尾的“&”表示该命令在后台运行,不会停止系统启动。

  • 测试一下:

    sudo reboot

实际例子:

  • 将此文件添加到您的桌面:test_code.py(运行它以检查它是否适合您)

    from os.path import expanduser
    import datetime
    
    file = open(expanduser("~") + '/Desktop/HERE.txt', 'w')
    file.write("It worked!\n" + str(datetime.datetime.now()))
    file.close()
    
  • 运行以下命令:

    sudo cp -i ~/Desktop/test_code.py/bin

    sudo crontab -e

  • 添加以下行并保存:

    @reboot python/bin/test_code.py &

  • 现在重新启动您的计算机,您应该会在桌面上找到一个新文件:HERE.txt

关于python - 在 Ubuntu 中启动时运行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24518522/

相关文章:

Python:如何读取 csv 并循环清理数据

python - 如何将附加参数传递给事件回调?

linux - Erlang:如何在控制 Erlang 进程崩溃时使连接的外部操作系统进程自动死亡?

shell - java.lang.IllegalArgumentException : port out of range:67001

bash - ssh,nohup,然后将结果复制回去

javascript - 如何网络抓取制图/ map - Selenium 不起作用

python - 为什么python3不能执行一些linux命令?

linux - 如何以编程方式(脚本、 Node 或 c)将网络接口(interface)设置为静态或 DHCP?

linux - setfacl 不适用于大括号扩展

bash - 来自反引号的多字参数(命令替换)