Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 26, 2011 04:38:57

xxnikolayxx
От:
Зарегистрирован: 2011-12-05
Сообщения: 161
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа скрипта, как службы.

Скажите, как я могу свою программу запустить как службу(фоновую программу с возможностью корректировать информацию в интерактивном режиме), в *nix подобных системах?
Программа, она же служба, написана на python e.
То есть ее еще нужно будет запускать через среду разработки.
Подскажите, куда копать, умные люди.

Отредактировано (Дек. 26, 2011 04:48:13)

Офлайн

#2 Дек. 26, 2011 07:17:38

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Работа скрипта, как службы.

Не очень понятно условие ‘с возможностью корректировать информацию в интерактивном режиме’.
Вам скорее всего нужен демон, так?

Офлайн

#3 Дек. 27, 2011 13:06:44

xxnikolayxx
От:
Зарегистрирован: 2011-12-05
Сообщения: 161
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа скрипта, как службы.

Да, именно он и нужен.

Офлайн

#4 Дек. 27, 2011 14:05:15

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Работа скрипта, как службы.

Офлайн

#5 Дек. 27, 2011 14:24:25

xxnikolayxx
От:
Зарегистрирован: 2011-12-05
Сообщения: 161
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа скрипта, как службы.

а можно немного объяснениея, что происходит и как.
лучше с пимером.

Офлайн

#6 Дек. 27, 2011 20:53:08

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Работа скрипта, как службы.

По ссылку есть и примеры и объяснения работы демона (раздел Rationale).
Что конкретно вам нужно?
Если внутренняя кухня библиотеки, то есть код ее автора:
http://code.activestate.com/recipes/278731/
Код немного устарел, но основы не изменились.



Офлайн

#7 Дек. 28, 2011 22:47:32

xxnikolayxx
От:
Зарегистрирован: 2011-12-05
Сообщения: 161
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа скрипта, как службы.

Почитал про библиотеку, уж слишком это геморно для моей мини программки.
Мне нужно чтобы я заходя по ssh ее врубал и она оставалась в фоне при выходе.
И помимо этого я мог работать с файлами, которые обрабатывает программа.
Понимаю, это трудно, но может есть что-то что облегчит мою жизнь. помимо этой библиотеки?

while True:
import sys, os, time, shutil
from xml.dom import minidom
shutil.copy(os.path.join("c:/wingwork/wingwork0.4/","config.xml"), "c:/wingwork/wingwork0.4/ideal/")
doc = minidom.parse("c:/wingwork/wingwork0.4/ideal/config.xml")
aliases = doc.getElementsByTagName("aliases")[0]
alias = aliases.getElementsByTagName("alias")[1]
address_ = alias.getElementsByTagName("address")
for address in address_:
text1 = address.firstChild.data.strip()
shablon1 = "<address>%s</address>" % text1
doc = minidom.parse("c:/wingwork/wingwork0.4/ideal/config.xml")
aliases = doc.getElementsByTagName("squidguardacl")[0]
alias = aliases.getElementsByTagName("config")[1]
address_ = alias.getElementsByTagName("source")
for address in address_:
text2 = address.firstChild.data.strip()
shablon2 = "<source>%s</source>" % text2
config = open('c:/wingwork/wingwork0.4/config.xml', 'w')
with open('c:/wingwork/wingwork0.4/ideal/config.xml') as fd:
for line in fd:
if line.strip() == shablon1:
print >>config, "<address>%s</address>" % text1
elif line.strip() == shablon2:
print >>config, "<source>%s</source>" % text1
else:
print >>config, line.strip()
print "Выполняю"
config.close()
else:
time.sleep(15)
Извиняюсь за говно код, но пока по другому не умею.

Если кто подскажет, как сделать из этого “Говно кода” красавицу, буду только благодарен.

Отредактировано (Дек. 28, 2011 22:49:17)

Офлайн

#8 Дек. 28, 2011 22:51:30

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Работа скрипта, как службы.

xxnikolayxx
заходя по ssh
xxnikolayxx
c:/wingwork/wingwork0.4/
???

Офлайн

#9 Дек. 28, 2011 22:57:27

xxnikolayxx
От:
Зарегистрирован: 2011-12-05
Сообщения: 161
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа скрипта, как службы.

s0rg
заходя по ssh
Есть удаленный сервер UNIX.
s0rg
c:/wingwork/wingwork0.4/
Я этот код там запускаю, а пишу и тестирую его на Виндовой машине, потому и путь такой.

Доступ к машине есть только ssh
захожу, запускаю.
Если код запущен, я не могу работать с файлами, которые обрабатывает код. - фаил уже используется и.тп и.т.д


При этом если я закрою сессию, выполнение прервется.

Офлайн

#10 Дек. 28, 2011 23:02:44

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Работа скрипта, как службы.

понял
man nohup
man screen

если *BSD
man tmux

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version