Форум сайта python.su
Есть Ubuntu 10.4, есть Python 2.6, есть простой скрипт, который находится в домашней папке:
#!/usr/bin/python
#-*- coding: UTF-8 -*-
import os, shutil, fnmatch, time
path=os.path.expanduser("~")+'/Загрузки'
dest_path='/mnt/Torrents/'
while 1:
for _file in os.listdir(path):
if fnmatch.fnmatch(os.path.join(path, _file), '*.torrent'):
if not _file in os.listdir(dest_path):
shutil.move(os.path.join(path, _file), dest_path)
else: os.remove(os.path.join(path, _file))
time.sleep(20)
Aug 12 21:33:47 comp gnome-session[1518]: WARNING: Could not launch application 'torr_find.py.desktop': Unable to start application: Произошёл сбой при выполнении процесса-потомка "/usr/bin/torr_find.py" (Отказано в доступе)
Отредактировано (Авг. 13, 2010 15:05:02)
Офлайн
А если через cron попробовать
Офлайн
Через крон, тоже не запускается, в принципе крон это не то что хотелось бы, он должен работать при загрузке системы.
Офлайн
По виду все дело в том, от какого юзера скрипт запускается. Из rc.local он будет запускаться из-под рута, что приводит к проблемам при доступе к os.path.expanduser(“~”)+'/Загрузки'. У вас есть каталог /root/Загрузки ?
Офлайн
EdНе запускается из под любого пользователя, точнее сказать я по очереди менял владельца файла, в то время, как другие скрипты работают от имени простого юзера.
По виду все дело в том, от какого юзера скрипт запускается. Из rc.local он будет запускаться из-под рута, что приводит к проблемам при доступе к os.path.expanduser(“~”)+'/Загрузки'. У вас есть каталог /root/Загрузки ?
Отредактировано (Авг. 13, 2010 22:10:23)
Офлайн
naumanПользователь от которого запускается определяется не владельцем файла, а uid того процесса, который его запускает. В случае, если ваш скрипт стартует из rc.local, то это root. Если с автозагрузкой DE, то это тот пользователь от которого запускаете DE.
Не запускается из под любого пользователя, точнее сказать я по очереди менял владельца файла, в то время, как другие скрипты работают от имени простого юзера.
Офлайн
Спасибо, манипуляции с /etc/init.d/ принесли желаемый результат.
Офлайн
naumanЭто не “манипуляции”. Это православный способ добавления в автозагрузку в основанных на Debian дистрибутивах. Он описан в Debian Policy Manual - http://www.debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit
манипуляции с /etc/init.d/
Офлайн