Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Programm bei Aufruf als Dienst starten

Mitglied: Nobody007

Nobody007 (Level 1) - Jetzt verbinden

13.10.2006, aktualisiert 07.11.2006, 9701 Aufrufe, 4 Kommentare

Hallo,

Ich versuche mit einem Renderprogramm im Netzwerk die Rendergeschwindigkeit drastisch zu verbessern. Für diesen Vorgang wurde bei den einzelnen Usern der dafür nötige Dienst installiert. Wenn nun der Auftrag von einem zentralen Server aus gestartet wird. Dann wird bei jedem User über den im Hintergrund laufenden Dienst das Programm zum Rendern aufgerufen. Dieser Start erfolgt in einem normalen Fenster mit normaler Priorität - Sachen gibt´s ;).
Da dieser Start öfters pro Tag abläuft ist er natürlich störend. Noch dazu werden die Computer für das normale Arbeiten recht stark beeinträchtigt.

Mein Vorhaben ist, dass dieses Programm im Hintergrund (als Dienst) mit niedriger Priorität gestartet wird. Das es Tools gibt mit denen ein Programm als Dienst gestartet werden kann ist mir bekannt. Bei all dieses Programmen kann dieser Dienst jedoch nur manuel oder automatisch gestartet werden.
Wenn ich dennoch dieses Programm als Dienst starte und der Auftrag vom Server erfolgt. Dann wird trotzdem eine zweite Instanz dieses Programmes (als Fenster im Vordergrund) gestartet.

Was ich gerne hätte ist, dass die *.exe Datei erst bei Abruf vom Server (von dem Netzwerkprogramm aus) als Dienst gestartet wird. Ich kann aber keine Batch Datei (mit den nötigen Befehlen) diesem Programm vorsetzen. Da das Serverprogramm direkten Zugriff auf die .exe benötigt. Es müßte also schon im System definiert sein, dass die .exe Datei immer bei Aufruf über ein anderes Programm als Dienst mit niedriger Priorität gestartet wird.

Für Lösungsvorschläge wäre ich sehr dankbar!

mfg
FPO
Mitglied: AndreasHoster
13.10.2006 um 18:05 Uhr
Lösung: Fast Keine

Unter Umständen gibt es noch eine Möglichkeit.
Batch scheidet zwar aus, weil der Dienst wohl auf den Namen der Exe programmiert ist.
Du könntest die EXE aber umbenennen und selber eine EXE mit diesem Namen erzeugen. Die wird dann gestartet und müsste dann halt das echte Programm aufrufen.
Du müsstest aber unter Umständen beim Aufruf Parameter entgegennehmen und weitergeben und falls OLE oder NetDDE ins Spiel kommt müsste man das auch irgendwie umleiten.

Alternativ den Hersteller fragen.

Jedenfalls kannst Du den Aufruf einer Exe und den Start derselben nicht so einfach abfangen und in einen Dienststart umwandeln.
Bitte warten ..
Mitglied: Nobody007
17.10.2006 um 16:27 Uhr
Danke für den Tip! Hab jetzt mal versucht das ganze mit der EXE abzufangen. Läuft leider auch schief . Das Programm dürfte doch etwas komplexer Arbeiten als ich anfangs dachte.

Eine andere Idee geht mir gerade durch den Kopf. Mit einem Dienst könnte ich die laufenden Prozesse ständig überwachen, und falls die EXE auftaucht wird diesem Prozess der Wert übertragen für niedrige Priorität und in den Hintergrund setzen (auch nicht in der Taskleiste sichtbar). ABER...ich weiß noch nicht wie ich das ganze in die Praxis umsetze. Gibt´s da vielleicht schon was fertiges? (Bin mir ziemlich sicher, aber ich hab noch nix gefunden das sich so adaptieren läßt)

Aja - das ganze sollte möglichst Resourcen schonend ablaufen ;) (der PC sollte ja nicht gleich in die Knie gehen wenn ein Dienst ständig die Prozesse überwacht)
Bitte warten ..
Mitglied: AndreasHoster
17.10.2006 um 17:40 Uhr
Na ja, mit meinem vielgeliebten Universalwerkzeug WMI ( http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanch ... )kann man schon eine Prozessüberwachung hinbasteln, die ist aber nicht wirklich ressourcenschonend und vermutlich auch nicht schnell genug um ein Aufblitzen des Fensters auf dem Bildschirm zu verhindern.
Kleines WindowsScriptingHost Beispiel:

Set wmi = GetObject("winmgmts:{(Security)}")
Set fso = CreateObject("Scripting.FileSystemObject")
Set sink = WScript.CreateObject("WbemScripting.SWbemSink","Prozess_")
wql = "select * from __instancecreationevent within 1 where targetinstance isa 'Win32_Process'"
wmi.ExecNotificationQueryAsync sink, wql
REM Bringt eine Messagebox und wenn ich die bestätige, dann beendet sich das Programm
MsgBox "Warte auf Events zur Ausgabe", vbSystemModal
Wscript.quit

Sub Prozess_OnObjectReady(objObject, objAsyncContext)

Set obj = objObject.TargetInstance
If LCase(obj.name)="Name der EXE" then
REM Priorität erniedrigen auf niedriger als normal
obj.SetPriority(0x00004000)
REM Leider keine Ahnung, wie man ein Programm in den Hintergrund kriegt mit WMI
REM Oder gleich beenden?
REM obj.terminate
End If

End Sub
Bitte warten ..
Mitglied: Nobody007
07.11.2006 um 12:47 Uhr
Danke, für die prompten Antworten! Hab noch ein paar andere Projekte beenden müssen, aber jetzt habe ich wieder Zeit für dieses.

Also das mit WMI zu schreiben ist für mich Neuland. Ich hab jedoch ein paar kleine Tools gefunden die das Problem schon fast lösen - mit der Betonung auf fast!

Es gibt 2 Tools die mir bei der Arbeit behilflich sind:
1. - ProcView (Command line Tool -> PV.exe)
2. - Cmdow.exe (Fenster in Win Managen)

mit PV kann ich die Prozesse auslesen (und zwar in einer endlos Schleife alle 2 Sekunden) und gleichzeitig die priorität einstellen :praktisch:
mit CMDOW kann ich das gewünschte Fenster in den Hintergrund setzen
...aber! CMDOW benötigt für das setzen in den Hintergrund eine sogenannte "Caption" vom Prozess. Jedoch ändert sich diese "Caption" (unten rot markiert) natürlich mit jedem neuen Auftrag, weil darin der Dateiname enthalten ist.

Wie kann ich also diese "Caption" auslesen und für CMDOW "schmackhaft machen? Weil im Moment mußte ich mich auf diesen Dateinamen fixieren.

@echo off
cmdow @ /hid
:start
PV.exe -f -r0 -d2000 3ds* >nul
if ERRORLEVEL 1 goto Process_NotFound
:Process_Found
cmdow "test01.max - 3ds max 5" /hid
PV.exe -f -pi 3ds*
PV.exe -f -x 3ds*
goto start

Besten Dank im Voraus für die tolle Hilfe in diesem Forum!
Bitte warten ..
Ähnliche Inhalte
Netzwerkmanagement

AD Dienst auf anderer Domäne starten

gelöst Frage von 136019Netzwerkmanagement3 Kommentare

Hallo miteinander. Ich habe ein spezifischen Problem und beisse mir gerade die Zähne daran aus. Vielleicht hat jemand eine ...

Windows Server

Dienste starten nicht automatisch nach dem Restart

Frage von EstefaniaWindows Server9 Kommentare

Hallo Ich habe Sicherungsdienste an einem Windows Server 2008 am laufen, die nach dem Neustart nicht automatisch gestartet werden ...

Windows Server

Exchange Dienste starten

gelöst Frage von butch12Windows Server4 Kommentare

Hallo, seit gestern hat ein Dienst auf einem DC Server Blue Screen verursacht, das Problem für den Bluescreen konnte ...

Windows 7

Dienste lassen sich nicht starten

Frage von gamerffWindows 74 Kommentare

Hallo Forum, ich hab das große Problem an meinem PC das sich die Netzwerk Dienste nicht starten lassen. Ich ...

Neue Wissensbeiträge
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 1 TagAusbildung9 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 3 TagenSpeicherkarten3 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 3 TagenSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 3 TagenHardware3 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Vmware
Offene LDAP-Server in AS
gelöst Frage von obi-wan-kenobiVmware19 Kommentare

Hallo alle Miteinander, ich habe ein Problem, unsere VM-Ware Appliance (Version. 6.5.0.10000) ist scheinbar angreifbar. Wir haben eben die ...

Windows Server
Zertifikat RemoteDesktop hinterlegen
gelöst Frage von Green14Windows Server12 Kommentare

Hallo zusammen. ich habe mehrere Server (WinSrv 2016). Die Server sind in keiner Domäne und keine Terminalserver. Ich verbinde ...

Windows Server
DNS - Bedingte Weiterleitung
gelöst Frage von m8ichaelWindows Server11 Kommentare

Guten Tag zusammen, ich stehe gerade bzgl. einer bedingten DNS-Weiterleitung etwas auf dem Schlauch: Ich möchte, dass für bestimmte ...

Suche Projektpartner
Debian 9.5 32 Bit und PHP 7 Fehlerbeseitigungen
Frage von zeroblue2005Suche Projektpartner11 Kommentare

Hallo Zusammen, ich habe eine VM auf Basis von ESXI am laufen. Dieser wurde unter Debian 7 installiert mt ...