Thread View: pl.comp.lang.python
19 messages
19 total messages
Started by ak3031884
Mon, 20 Jul 2009 11:37
program jako usługa
Author: ak3031884
Date: Mon, 20 Jul 2009 11:37
Date: Mon, 20 Jul 2009 11:37
6 lines
1361 bytes
1361 bytes
Witam, piszę taki program dręczący użytkowników przypominający co 10 min o porządkach w komputerze nie wiem jak zaimplementować żeby program działała jako usługa w XP. Czy może ktoś mi podpowie jak to zrobić. Pozdrawiam.
Re: program jako usługa
Author: Bogusław Faja
Date: Mon, 20 Jul 2009 11:47
Date: Mon, 20 Jul 2009 11:47
16 lines
1445 bytes
1445 bytes
Dnia Mon, 20 Jul 2009 04:37:35 -0700 (PDT), ak3031884 napisał(a): > Witam, > piszę taki program dręczący użytkowników przypominający co 10 min o > porządkach w komputerze nie wiem jak zaimplementować żeby program > działała jako usługa w XP. > Czy może ktoś mi podpowie jak to zrobić. > Pozdrawiam. Witam, Wielokrotnie też szukałem czegoś takiego, próbowałem tworzyć swoją aplikację jako serwis - ogrom zabawy. Dopiero po jakimś czasie wpadłem na "sc" (z linii poleceń). Gdybym znał to troszkę wcześniej... pozdrawiam,
Re: program jako usługa
Author: Radomir Dopieralski
Date: Mon, 20 Jul 2009 12:17
Date: Mon, 20 Jul 2009 12:17
15 lines
1691 bytes
1691 bytes
At Mon, 20 Jul 2009 04:37:35 -0700 (PDT), ak3031884 wrote: > Witam, > piszę taki program dręczący użytkowników przypominający co 10 min o > porządkach w komputerze nie wiem jak zaimplementować żeby program > działała jako usługa w XP. > Czy może ktoś mi podpowie jak to zrobić. Bylo cos takiego ostatnio prezentowane na lightning talkach na Europython 2009, niestety nie zapamietalem nazwy, bo to nie moja dzialka. Moze ktos pamieta albo znajdzie w materialach video z konferencji... -- Radomir Dopieralski, http://sheep.art.pl
Re: program jako usługa
Author: ak3031884
Date: Mon, 20 Jul 2009 12:40
Date: Mon, 20 Jul 2009 12:40
24 lines
2240 bytes
2240 bytes
On 20 Lip, 13:47, Bogusław Faja <zymen_out_@_out_zymen.net> wrote: > Dnia Mon, 20 Jul 2009 04:37:35 -0700 (PDT), ak3031884 napisał(a): > > > Witam, > > piszę taki program dręczący użytkowników przypominający co 10 min o > > porządkach w komputerze nie wiem jak zaimplementować żeby program > > działała jako usługa w XP. > > Czy może ktoś mi podpowie jak to zrobić. > > Pozdrawiam. > > Witam, > > Wielokrotnie też szukałem czegoś takiego, próbowałem tworzyć swoją > aplikację jako serwis - ogrom zabawy. Dopiero po jakimś czasie wpadłem na > "sc" (z linii poleceń). Gdybym znał to troszkę wcześniej... > > pozdrawiam, sc to windosowa aplikacja chciałbym tego uniknąć i zrobić program który działa przy instalowaniu jako usługa i nie trzeba by było konfigurować przy pomocy innych programów ufff będzie ciężko???
Re: program jako usługa
Author: Marcin Sztolcman
Date: Mon, 20 Jul 2009 12:45
Date: Mon, 20 Jul 2009 12:45
16 lines
1367 bytes
1367 bytes
On 09-07-20 14:40, ak3031884 wrote:
> chciałbym tego uniknąć i zrobić program który działa przy instalowaniu
> jako usługa i nie trzeba by było konfigurować przy pomocy innych
> programów
>
> ufff będzie ciężko???
No nie wiem...
if sys.platform == 'win32':
os.system ('sc ... ')
?
--
Marcin Sztolcman :: http://urzenia.net/ :: http://sztolcman.eu/
Re: program jako usługa
Author: Jacek Czerwinski
Date: Mon, 20 Jul 2009 13:02
Date: Mon, 20 Jul 2009 13:02
37 lines
2625 bytes
2625 bytes
ak3031884 pisze: > On 20 Lip, 13:47, Bogusław Faja <zymen_out_@_out_zymen.net> wrote: >> Dnia Mon, 20 Jul 2009 04:37:35 -0700 (PDT), ak3031884 napisał(a): >> >>> Witam, >>> piszę taki program dręczący użytkowników przypominający co 10 min o >>> porządkach w komputerze nie wiem jak zaimplementować żeby program >>> działała jako usługa w XP. >>> Czy może ktoś mi podpowie jak to zrobić. >>> Pozdrawiam. >> Witam, >> >> Wielokrotnie też szukałem czegoś takiego, próbowałem tworzyć swoją >> aplikację jako serwis - ogrom zabawy. Dopiero po jakimś czasie wpadłem na >> "sc" (z linii poleceń). Gdybym znał to troszkę wcześniej... >> >> pozdrawiam, > > sc to windosowa aplikacja > chciałbym tego uniknąć i zrobić program który działa przy instalowaniu > jako usługa i nie trzeba by było konfigurować przy pomocy innych > programów > > ufff będzie ciężko??? Ciekawy temat ... jakby gdzieś był python.exe (coś jak pythonw.exe) przekompilowany specyficznie dla startowania usług, jakby jeszcze wystawił w API to i owo z dziedziny zarządzania ... zwłaszcza że temat rozwojowy (mam na myśli, że pod Viśtę i nowe serwery spora część programów ma problem w łączeniu się z własną usługą, i tak trzeba to modyfikować więc dobre API nie jest złe). Na API nasuwa mi się na minus brak konsoli (Lub opcjonalna konsola), brak streamów stdin,stderr,stdout(lub ich emulowanie) W każdym razie w Javie (zaraz mnie zakrzyczą) jeśli o usługach mowa uznanie zdobyły rozwiązania z DLL i JNI, tysiące Tomcatów na tym stoją
Re: program jako usługa
Author: ak3031884
Date: Mon, 20 Jul 2009 13:02
Date: Mon, 20 Jul 2009 13:02
20 lines
2024 bytes
2024 bytes
On 20 Lip, 14:45, Marcin Sztolcman <msz...@poczta.onet.pl> wrote:
> On 09-07-20 14:40, ak3031884 wrote:
>
> > chciałbym tego uniknąć i zrobić program który działa przy instalowaniu
> > jako usługa i nie trzeba by było konfigurować przy pomocy innych
> > programów
>
> > ufff będzie ciężko???
>
> No nie wiem...
> if sys.platform == 'win32':
> os.system ('sc ... ')
>
> ?
>
> --
> Marcin Sztolcman ::http://urzenia.net/::http://sztolcman.eu/
chm jak nie ma innego wyjścia to trzeba tak
dzięki za to
Re: program jako usługa
Author: Jacek Czerwinski
Date: Mon, 20 Jul 2009 13:06
Date: Mon, 20 Jul 2009 13:06
12 lines
1309 bytes
1309 bytes
ak3031884 pisze: > Witam, > piszę taki program dręczący użytkowników przypominający co 10 min o > porządkach w komputerze nie wiem jak zaimplementować żeby program > działała jako usługa w XP. > Czy może ktoś mi podpowie jak to zrobić. > Pozdrawiam. > Googlarka wykazuje że activestate coś ma http://code.activestate.com/recipes/135700/ (Nie używałem, ale wydawało mi sie nieprawdopodobne by nikt nigdy tego nie robił)
Re: program jako usługa
Author: ak3031884
Date: Mon, 20 Jul 2009 13:16
Date: Mon, 20 Jul 2009 13:16
14 lines
1871 bytes
1871 bytes
On 20 Lip, 15:06, Jacek Czerwinski <x...@y.z.pl> wrote: > ak3031884 pisze:> Witam, > > piszę taki program dręczący użytkowników przypominający co 10 min o > > porządkach w komputerze nie wiem jak zaimplementować żeby program > > działała jako usługa w XP. > > Czy może ktoś mi podpowie jak to zrobić. > > Pozdrawiam. > > Googlarka wykazuje że activestate coś mahttp://code.activestate.com/recipes/135700/ > (Nie używałem, ale wydawało mi sie nieprawdopodobne by nikt nigdy tego > nie robił) A to interesujące stestuje to koniecznie!!!. i jeszcze się odezwe bo już widze żę trochę mam pomysłów.
Re: program jako usługa
Author: Bogusław Faja
Date: Mon, 20 Jul 2009 16:07
Date: Mon, 20 Jul 2009 16:07
18 lines
1657 bytes
1657 bytes
Dnia Mon, 20 Jul 2009 05:40:27 -0700 (PDT), ak3031884 napisał(a): > sc to windosowa aplikacja > chciałbym tego uniknąć i zrobić program który działa przy instalowaniu > jako usługa i nie trzeba by było konfigurować przy pomocy innych > programów > > ufff będzie ciężko??? Ale przecież i tak musisz dodać ten proces. Czy to zrobisz programowo, czy ręcznie, to już kwestia wyboru. Natomiast co za problem napisać cmd z utworzeniem usługi dla Twojej aplikacji. Cmd odpalany po właściwym procesie instalacji? Niektóre instalatory chyba nawet posiadają możliwość wykonywania poleceń konsoli w sposób niewidoczny dla użytkownika. pozdrawiam,
Re: program jako usługa
Author: mak
Date: Sat, 01 Aug 2009 17:54
Date: Sat, 01 Aug 2009 17:54
47 lines
3310 bytes
3310 bytes
On 20 Lip, 15:02, Jacek Czerwinski <x...@y.z.pl> wrote: > ak3031884 pisze: > > > > > On 20 Lip, 13:47, Bogusław Faja <zymen_out_@_out_zymen.net> wrote: > >> Dnia Mon, 20 Jul 2009 04:37:35 -0700 (PDT), ak3031884 napisał(a): > > >>> Witam, > >>> piszę taki program dręczący użytkowników przypominający co 10 min o > >>> porządkach w komputerze nie wiem jak zaimplementować żeby program > >>> działała jako usługa w XP. > >>> Czy może ktoś mi podpowie jak to zrobić. > >>> Pozdrawiam. > >> Witam, > > >> Wielokrotnie też szukałem czegoś takiego, próbowałem tworzyć swoją > >> aplikację jako serwis - ogrom zabawy. Dopiero po jakimś czasie wpadłem na > >> "sc" (z linii poleceń). Gdybym znał to troszkę wcześniej... > > >> pozdrawiam, > > > sc to windosowa aplikacja > > chciałbym tego uniknąć i zrobić program który działa przy instalowaniu > > jako usługa i nie trzeba by było konfigurować przy pomocy innych > > programów > > > ufff będzie ciężko??? > > Ciekawy temat ... jakby gdzieś był python.exe (coś jak pythonw.exe) > przekompilowany specyficznie dla startowania usług, jakby jeszcze > wystawił w API to i owo z dziedziny zarządzania ... zwłaszcza że temat > rozwojowy (mam na myśli, że pod Viśtę i nowe serwery spora część > programów ma problem w łączeniu się z własną usługą, i tak trzeba to > modyfikować więc dobre API nie jest złe). > > Na API nasuwa mi się na minus brak konsoli (Lub opcjonalna konsola), > brak streamów stdin,stderr,stdout(lub ich emulowanie) > > W każdym razie w Javie (zaraz mnie zakrzyczą) jeśli o usługach mowa > uznanie zdobyły rozwiązania z DLL i JNI, tysiące Tomcatów na tym stoją pywin32 z activestate ma mozliwosc tworzenia uslug win32 - dzialajacych dokladnie tak jak chcecie (bardzo dobrze dzialajacych od ca. 8 lat) mak
Re: program jako usługa
Author: ak3031884
Date: Thu, 06 Aug 2009 17:50
Date: Thu, 06 Aug 2009 17:50
9 lines
1638 bytes
1638 bytes
> pywin32 z activestate ma mozliwosc tworzenia uslug win32 - > dzialajacych dokladnie tak jak chcecie (bardzo dobrze dzialajacych od > ca. 8 lat) > > mak Czy to jest to: http://docs.activestate.com/activepython/2.5/pywin32/PyWin32.HTML ?
Re: program jako usługa
Author: ryniek
Date: Thu, 06 Aug 2009 22:43
Date: Thu, 06 Aug 2009 22:43
8 lines
1842 bytes
1842 bytes
Znalazłem coś: - http://agiletesting.blogspot.com/2005/09/running-python-script-as-windows.html - http://mail.python.org/pipermail/python-win32/2006-November/005216.html Windowsowa odmiana demonów to usługi (services). Wyżej masz dwa przykłady. Jak widać można do tego użyć Batchy lub skorzystać z modułu PyWin32 (http://sourceforge.net/projects/pywin32/); Chodzi tu przede wszystkim o moduł win32serviceutil.py .
Re: program jako usługa
Author: ryniek
Date: Thu, 06 Aug 2009 22:44
Date: Thu, 06 Aug 2009 22:44
8 lines
1955 bytes
1955 bytes
Znalazłem coś: - http://agiletesting.blogspot.com/2005/09/running-python-script-as-win... - http://mail.python.org/pipermail/python-win32/2006-November/005216.html Windowsowa odmiana demonów to usługi (services). Wyżej masz dwa przykłady. Jak widać można do tego użyć Batchy lub skorzystać z modułu PyWin32 ( http://sourceforge.net/projects/pywin32/ ); Chodzi tu przede wszystkim o moduł win32serviceutil.py .
Re: program jako usługa
Author: ryniek
Date: Thu, 06 Aug 2009 22:47
Date: Thu, 06 Aug 2009 22:47
65 lines
3866 bytes
3866 bytes
On 7 Sie, 00:44, ryniek <rynie...@gmail.com> wrote:
> Znalazłem coś:
> -http://agiletesting.blogspot.com/2005/09/running-python-script-as-win...
> -http://mail.python.org/pipermail/python-win32/2006-November/005216.html
>
> Windowsowa odmiana demonów to usługi (services). Wyżej masz dwa
> przykłady. Jak widać można do tego użyć Batchy lub skorzystać z modułu
> PyWin32 (http://sourceforge.net/projects/pywin32/); Chodzi tu przede
> wszystkim o moduł win32serviceutil.py .
Ten pierwszy przykład chyba pochodzi jeszcze z cache Google (link
prowadzi do nieistniejącej strony), więc zamieszczę treść posta z
blogu tutaj:
"
Running a Python script as a Windows service
This is a message I posted to comp.lang.py regarding ways to run a
regular Python script as a Windows service.
I will assume you want to turn a script called myscript.py into a
service.
1. Install Win2K Resource Kit (or copy the 2 binaries instsrv.exe and
srvany.exe).
2. Run instsrv to install srvany.exe as a service with the name
myscript:
C:\Program Files\Resource Kit\instsrv myscript "C:\Program Files
\Resource Kit\srvany.exe"
3. Go to Computer Management->Services and make sure myscript is
listed as a service. Also make sure the Startup Type is Automatic.
4. Create a myscript.bat file with the following contents in e.g. C:
\pyscripts:
C:\Python23\python C:\pyscripts\myscript.py
(replace Python23 with your Python version)
5. Create new registry entries for the new service.
* run regedt32 and go to the HKEY_LOCAL_MACHINE\SYSTEM
\CurrentControlSet\Services\myscript entry
* add new key (Edit->Add Key) called Parameters
* add new entry for Parameters key (Edit->Add Value) to set the
Application name
o Name should be Application
o Type should be REG_SZ
o Value should be path to myscript.bat, i.e. C:\pyscripts
\myscript.bat
* add new entry for Parameters key (Edit->Add Value) to set the
working directory
o Name should be AppDir
o Type should be REG_SZ
o Value should be path to pyscripts directory, i.e. C:
\pyscripts
6. Test starting and stopping the myscript service in Computer
Management->Services.
"
Proszę.
Re: program jako usługa
Author: ak3031884
Date: Fri, 07 Aug 2009 07:22
Date: Fri, 07 Aug 2009 07:22
14 lines
2194 bytes
2194 bytes
On 7 Sie, 00:44, ryniek <rynie...@gmail.com> wrote: > Znalazłem coś: > -http://agiletesting.blogspot.com/2005/09/running-python-script-as-win... > -http://mail.python.org/pipermail/python-win32/2006-November/005216.html > > Windowsowa odmiana demonów to usługi (services). Wyżej masz dwa > przykłady. Jak widać można do tego użyć Batchy lub skorzystać z modułu > PyWin32 (http://sourceforge.net/projects/pywin32/); Chodzi tu przede > wszystkim o moduł win32serviceutil.py . witam z win32serviceutil.py to napisałem ale jakoś nie chce działać jest na forum trochę wyżej w z tytulem "program jako usługa c.d. " ale jakoś nie chce to działać zdaje sie proste ale coś nie tak.
Re: program jako usługa
Author: Katharsis
Date: Fri, 07 Aug 2009 08:00
Date: Fri, 07 Aug 2009 08:00
20 lines
2323 bytes
2323 bytes
@ak3031884 Jeżeli masz dostęp do książki "Python Programming on Win32" (patrz: Google Books), tam jest cały dział poświęcony tworzeniu własnych usług w Pythonie. Natomiast jeżeli interesuje Cię klasyczny sposób (np. skrypt wsadowy), ja korzystam z klasycznego rozwiązania: http://wklej.to/jX5V Linię 10-tą stosujesz wtedy, gdy zależy Ci na integracji z pulpitem. Jak widzisz do tego rozwiązania będziesz potrzebował 2 zew. aplikacji: instsrv.exe i srvany.exe. Nie wiem czy jest to akurat zależne od formy rozwiązania, ale mi zamknięcie systemu z działającą (własną usługą) przedłuża się średnio o 5-8 sekund. Jeżeli znajdziesz złoty środek, podziel się :). Pozdrawiam.
Re: program jako usługa
Author: ak3031884
Date: Fri, 07 Aug 2009 09:06
Date: Fri, 07 Aug 2009 09:06
26 lines
2964 bytes
2964 bytes
On 7 Sie, 10:00, Katharsis <katharsis021...@gmail.com> wrote: > @ak3031884 > Jeżeli masz dostęp do książki "Python Programming on Win32" (patrz: > Google Books), tam jest cały dział poświęcony tworzeniu własnych usług > w Pythonie. > > Natomiast jeżeli interesuje Cię klasyczny sposób (np. skrypt wsadowy), > ja korzystam z klasycznego rozwiązania: > > http://wklej.to/jX5V > > Linię 10-tą stosujesz wtedy, gdy zależy Ci na integracji z pulpitem. > Jak widzisz do tego rozwiązania będziesz potrzebował 2 zew. aplikacji: > instsrv.exe i srvany.exe. Nie wiem czy jest to akurat zależne od formy > rozwiązania, ale mi zamknięcie systemu z działającą (własną usługą) > przedłuża się średnio o 5-8 sekund. > > Jeżeli znajdziesz złoty środek, podziel się :). > > Pozdrawiam. Ogolnie dąże do tego żeby program odpalał sie z exe przy instalacji dodawał usługę i odpalał ją od razu przy 100 komputerach w sieci to trudno sie bawić z kilkoma programami jak do czego dojde to dam znać ten win32serviceutil jest dobry ale napisałem i jakoś nie działa
Re: program jako usługa
Author: mak
Date: Wed, 19 Aug 2009 13:15
Date: Wed, 19 Aug 2009 13:15
154 lines
6807 bytes
6807 bytes
On 7 Sie, 11:06, ak3031884 <ak3031...@gmail.com> wrote: > On 7 Sie, 10:00, Katharsis <katharsis021...@gmail.com> wrote: > > > > > @ak3031884 > > Jeżeli masz dostęp do książki "Python Programming on Win32" (patrz: > > Google Books), tam jest cały dział poświęcony tworzeniu własnych usług > > w Pythonie. > > > Natomiast jeżeli interesuje Cię klasyczny sposób (np. skrypt wsadowy), > > ja korzystam z klasycznego rozwiązania: > > >http://wklej.to/jX5V > > > Linię 10-tą stosujesz wtedy, gdy zależy Ci na integracji z pulpitem. > > Jak widzisz do tego rozwiązania będziesz potrzebował 2 zew. aplikacji: > > instsrv.exe i srvany.exe. Nie wiem czy jest to akurat zależne od formy > > rozwiązania, ale mi zamknięcie systemu z działającą (własną usługą) > > przedłuża się średnio o 5-8 sekund. > > > Jeżeli znajdziesz złoty środek, podziel się :). > > > Pozdrawiam. > > Ogolnie dąże do tego żeby program odpalał sie z exe przy instalacji > dodawał usługę i odpalał ją od razu przy 100 komputerach w sieci to > trudno sie bawić > z kilkoma programami jak do czego dojde to dam znać > ten win32serviceutil jest dobry ale napisałem i jakoś nie działa win32service util rejestruje usluge w serwisach NT i wpisuje jaki program powinien sie uruchomic (domyslnie pythonservice.exe z pywin32) i w rejestrze zapamietuje jaki program pythona nalezy uruchomic oraz od czego zalezy jego uruchomienie. np: import sys import os import win32service import win32serviceutil import NTService def InstallService(pythonClassString, serviceName, displayName, startType = None, errorControl = None, bRunInteractive = 0, serviceDeps = None, userName = None, password = None, exeName = None, perfMonIni = None, perfMonDll = None): # Handle the default arguments. if startType is None: startType = win32service.SERVICE_DEMAND_START if bRunInteractive: startType = startType | win32service.SERVICE_INTERACTIVE_PROCESS if errorControl is None: errorControl = win32service.SERVICE_ERROR_NORMAL hscm = win32service.OpenSCManager (None,None,win32service.SC_MANAGER_ALL_ACCESS) try: hs = win32service.CreateService(hscm, serviceName, displayName, win32service.SERVICE_ALL_ACCESS, # desired access win32service.SERVICE_WIN32_OWN_PROCESS, # service type startType, errorControl, # error control type exeName, None, 0, serviceDeps, userName, password) win32service.CloseServiceHandle(hs) finally: win32service.CloseServiceHandle(hscm) win32serviceutil.InstallPythonClassString(pythonClassString, serviceName) # If I have performance monitor info to install, do that. if perfMonIni is not None: win32serviceutil.InstallPerfmonForService(serviceName, perfMonIni, perfMonDll) i juz masz zainstalowany serwis - teraz musisz to uruchomic: def Installer(install, user=None, password=None): if not install: win32serviceutil.RemoveService(NTService.Service._svc_name_) else: cwd = os.getcwd() startup = win32service.SERVICE_AUTO_START startup = win32service.SERVICE_DEMAND_START if user is not None: user = '.\\%s' %user InstallService( 'NTService.'+NTService.Service._svc_name_, NTService.Service._svc_name_, NTService.Service._svc_display_name_, serviceDeps = None, startType=startup, userName=user, password=password, exeName='"%s\\pythonservice.exe" "%s\\mojprogram.py"' %(cwd, cwd), perfMonIni=None, perfMonDll=None) w exeName -podajesz wlasny program do uruchomienia wraz z parametrami - ale on musi wiedziec jak komunikowac sie z SC NTService.py zawiera: class Service(win32serviceutil.ServiceFramework): _svc_name_ = "TriSoftService" _svc_display_name_ = "TriSoft Service" def __init__(self, args): # tutaj starujemy nasze uslugi - asynchronicznie, czyli calosc siedzi w jakims threadzie win32serviceutil.ServiceFramework.__init__(self, args) self.hWaitStop = CreateEvent(None, 0, 0, None) self.overlapped = pywintypes.OVERLAPPED() self.overlapped.hEvent = CreateEvent(None,0,0,None) def SvcStop(self): self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING) SetEvent(self.hWaitStop) def SvcDoRun(self): while 1: rc = WaitForMultipleObjects( (self.hWaitStop, self.overlapped.hEvent), 0, 1000) if rc==WAIT_OBJECT_0: # Stop event break # tutaj czekamy na zatrzymanie sie naszej uslugi # Sleep to ensure that any new threads are in the list, and then # wait for all current threads to finish. # What is a better way? Sleep(500) # Write another event log record. servicemanager.LogMsg( servicemanager.EVENTLOG_INFORMATION_TYPE, servicemanager.PYS_SERVICE_STOPPED, (self._svc_name_, " bye") ) i juz :) mak
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads