Форум сайта python.su
Скажите, как я могу свою программу запустить как службу(фоновую программу с возможностью корректировать информацию в интерактивном режиме), в *nix подобных системах?
Программа, она же служба, написана на python e.
То есть ее еще нужно будет запускать через среду разработки.
Подскажите, куда копать, умные люди.
Отредактировано (Дек. 26, 2011 04:48:13)
Офлайн
Не очень понятно условие ‘с возможностью корректировать информацию в интерактивном режиме’.
Вам скорее всего нужен демон, так?
Офлайн
Да, именно он и нужен.
Офлайн
Офлайн
а можно немного объяснениея, что происходит и как.
лучше с пимером.
Офлайн
По ссылку есть и примеры и объяснения работы демона (раздел Rationale).
Что конкретно вам нужно?
Если внутренняя кухня библиотеки, то есть код ее автора:
http://code.activestate.com/recipes/278731/
Код немного устарел, но основы не изменились.
Офлайн
Почитал про библиотеку, уж слишком это геморно для моей мини программки.
Мне нужно чтобы я заходя по 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)
Офлайн
xxnikolayxx
заходя по ssh
xxnikolayxx???
c:/wingwork/wingwork0.4/
Офлайн
s0rgЕсть удаленный сервер UNIX.
заходя по ssh
s0rgЯ этот код там запускаю, а пишу и тестирую его на Виндовой машине, потому и путь такой.
c:/wingwork/wingwork0.4/
Офлайн
понял
man nohup
man screen
если *BSD
man tmux
Офлайн