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

我有一个简短的 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

https://stackoverflow.com/questions/24518522/

相关文章:

linux - Vagrant 的鸡和蛋 : Shared folder with uid = ap

linux - 在tmux中绑定(bind)Ctrl+Tab和Ctrl+Shift+Tab

ruby-on-rails - Ruby on Rails - 无法将 "\x89"从 ASCII-

linux - 我需要 -D_REENTRANT 和 -pthreads 吗?

linux - 如何在 AWS 上的 Amazon Linux AMI 中自动启动 node.js

c++ - 如何在 Linux 中命名线程?

php - 如何在 Ubuntu 14.04 上更改 php-cli 版本?

linux - 在 PHP CLI 中设置 max_execution_time

ruby-on-rails - 如何在 Linux 上使用 Ruby 2.0 改进 unicorn

linux - 使用 linux 命令行 (bash) 从网络摄像头拍照