我有一个简短的 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
php - 如何在 Ubuntu 14.04 上更改 php-cli 版本?
linux - 在 PHP CLI 中设置 max_execution_time