Laufende Prozesse durchsuchen?

Antworten
Benutzeravatar
skranz1982
Beiträge: 80
Registriert: 09 Okt 2014, 08:01

Laufende Prozesse durchsuchen?

Beitrag von skranz1982 »

Hallo allerseits!

Mein Arbeitgeber hat vor ein paar Wochen OPSI in Betrieb genommen und wir testen gerade schön vor uns hin... Ich bin als Paketentwickler dabei und habe eine Frage dazu... Ist es möglich, mit OPSI die laufenden Prozesse zu durchsuchen? Mit <killtask "prozess.exe"> kann ich zwar ein Programm abschießen, aber wie ermittle ich vorher, ob es überhaupt noch läuft?

Hintergrund meiner Frage ist folgender: Wir nutzen das ABO "PatchManagement" und als Zusatz zum Firefox-Paket habe ich ein Paket "ffconfig" geschrieben, dass zwei Dateien im Installationsverzeichnis von Firefox ablegt:

* {Installationsordner}\defaults\pref\local-settings.js
* {Installationsordner}\mozilla.cfg

Solange ich dieses Paket standardmäßig vor dem Login installiere, brauche ich mir keine Sorgen zu machen, dass Firefox laufen könnte - aber "on demand" schon. Wie kann ich mich hier also galant durch das Problem durchwurschteln?

Schöne Grüße,
SKr

PS.: Hier mein Quelltext

Code: Alles auswählen

[Initial]
SetLogLevel=notice
ExitOnError=false
ScriptErrorMessages=false
FatalOnSyntaxError=true
FatalOnRuntimeError=false
TraceMode=off
requiredWinstVersion >= "4.11.4.6"
StayOnTop=false
AutoActivityDisplay=true

[Actions]
DefVar $LogDir$
DefVar $ProductID$  
DefVar $MinimumSpace$
DefVar $InstallDir$
DefVar $InstallationSwitch$

Set $InstallationSwitch$ = GetProductProperty("strongsecurity", "true")
Set $LogDir$ = "%opsiLogDir%"

; ----------------------------------------------------------------
; - Please edit the following values                             -
; ----------------------------------------------------------------
;$ProductID$ should be the name of the product in opsi
; therefore please: only lower letters, no umlauts, 
; no white space use '-' as a seperator
Set $ProductID$     = "ffconfig"
Set $MinimumSpace$	= "1 MB"
Set $InstallDir$	= "%ProgramFiles32Dir%\Mozilla Firefox"
; the path were we find the product after the installation
; ----------------------------------------------------------------

if not(HasMinimumSpace ("%SystemDrive%", $MinimumSpace$))
	LogError "Not enough free disk space on %SystemDrive%. " + $MinimumSpace$ + " on drive %SystemDrive% needed for " + $ProductID$ +"."
	isFatalError "Disk full" ; Stop process and set installation status to failed
else
	comment "Show product picture"
	ShowBitmap "%ScriptPath%\" + $ProductID$ + ".png" "Firefox Config Stadt Solingen"
	Message "Installing " + $ProductID$ + " ..."
	
	Pause "Bitte beenden Sie Firefox jetzt, falls er laufen sollte, und klicken anschließend auf 'OK'."
	
	WinBatch_Dummy /WaitForProcessEnding "firefox.exe" /TimeOutSeconds 30
	KillTask "firefox.exe"
	comment "Copy configuration files"
	Files_CopyLocalSettings
	
	if ($InstallationSwitch$ = "true")
		Files_CopyLockPref
	else
		Files_CopyDefaultPref
	endif
	
	comment "Check successful installation"
	if not(FileExists($InstallDir$ + "\mozilla.cfg"))
		isFatalError "Installation not successful: mozilla.cfg missing!"
	else
		if not (FileExists($InstallDir$ + "\defaults\pref\local-settings.js"))
			isFatalError "Installation not successful: local-settings.js missing!"
		endif
	endif
endif

[WinBatch_Dummy]
; nothing to do here, just waiting for "firefox.exe" to end

[Files_CopyLocalSettings]
copy %ScriptPath%\local-settings.js $InstallDir$\defaults\pref

[Files_CopyLockPref]
copy %ScriptPath%\lockPref\mozilla.cfg $InstallDir$

[Files_CopyDefaultPref]
copy %ScriptPath%\defaultPref\mozilla.cfg $InstallDir$
Sebastian Kranz,
regio iT gesellschaft für informationstechnologie mbh
www.regioit.de
holgerv
Beiträge: 288
Registriert: 20 Aug 2012, 09:35

Re: Laufende Prozesse durchsuchen?

Beitrag von holgerv »

Hi,

ungetestet, weil ich gerade keinen Windows-Rechner in der Nähe habe:

Code: Alles auswählen

[Actions]
DosInAnIcon_isFirefoxExeRunning
if getLastExitCode = "0"
   message "firefox.exe is running"
else
   message "firefox.exe is not running"
endif

[DosInAnIcon_isFirefoxExeRunning]
tasklist.exe | find "firefox.exe"
exit %ERRORLEVEL%
Vielleicht schreibst Du ja kurz, ob (und ggf. wie) es funktioniert hat.

Schönen Gruß


Holger
Benutzeravatar
SisterOfMercy
Beiträge: 1522
Registriert: 22 Jun 2012, 19:18

Re: Laufende Prozesse durchsuchen?

Beitrag von SisterOfMercy »

Code: Alles auswählen

WinBatch_Dummy /WaitForProcessEnding "firefox.exe" /TimeOutSeconds 30
I think this first waits for the process to start and then end. I could be wrong, but better test this.

I don't think you have to check if firefox is running before you run a killtask command. It will handle itself.
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
Benutzeravatar
wolfbardo
uib-Team
Beiträge: 1354
Registriert: 01 Jul 2008, 12:10

Re: Laufende Prozesse durchsuchen?

Beitrag von wolfbardo »

Hallo,
skranz1982 hat geschrieben:Hallo allerseits!


Hintergrund meiner Frage ist folgender: Wir nutzen das ABO "PatchManagement" und als Zusatz zum Firefox-Paket habe ich ein Paket "ffconfig" geschrieben, dass zwei Dateien im Installationsverzeichnis von Firefox ablegt:

* {Installationsordner}\defaults\pref\local-settings.js
* {Installationsordner}\mozilla.cfg
man kann in den Abo-Paketen auch eigene
custom
Aktionen durchführen:

http://download.uib.de/opsi4.0/doc/html ... s-standard

vgl. für den ersten Punkt
Customizing der Pakete durch preinst/postinst-scripts
bzw.

für die

Code: Alles auswählen

mozilla.cfg
die gleichnamige Property

und den Hinweis

Code: Alles auswählen

/var/lib/opsi/depot/firefox/custom/

Bei erneutem Einspielen des Pakets werden die gefundenen Konfigurationsdateien über preinst-/postinst-Mechanismus erhalten und dann über die Property "mozillacfg" auswählbar.
Gruss
Bardo Wolf


OPSICONF 2024
https://opsi.org/en/opsiconf/

opsi-Basisworkshops:

22. - 25. 04. 2024


opsi support - uib gmbh
For productive opsi installations we recommend maintainance + support contracts which are the base of opsi development.

http://www.uib.de
Benutzeravatar
skranz1982
Beiträge: 80
Registriert: 09 Okt 2014, 08:01

Re: Laufende Prozesse durchsuchen?

Beitrag von skranz1982 »

wolfbardo hat geschrieben:Hallo,

man kann in den Abo-Paketen auch eigene
custom
Aktionen durchführen:

http://download.uib.de/opsi4.0/doc/html ... s-standard

vgl. für den ersten Punkt
[..]

Gruss
Bardo Wolf
Hallo Bardo,

diese Funktion habe ich mir auch schon angeschaut,hilft mir aber leider nicht viel: Unser Kunde hat bei uns zwei verschiedene mozilla.cfg-Versionen bestellt, eine restriktive und eine "laissez-faire"-Variante. In meinem o.g. Paket habe ich daher eine Produkteigenschaft "strongsecurity" definiert und nutze diese, um (zur Zeit nur) PC-abhängig auszuwählen, welche Datei ich nun kopiere.

Trotzdem vielen Dank für deinen Link! Hab ich direkt mal als Favorit gespeichert :-)
Sebastian Kranz,
regio iT gesellschaft für informationstechnologie mbh
www.regioit.de
Benutzeravatar
skranz1982
Beiträge: 80
Registriert: 09 Okt 2014, 08:01

Re: Laufende Prozesse durchsuchen?

Beitrag von skranz1982 »

SisterOfMercy hat geschrieben:

Code: Alles auswählen

WinBatch_Dummy /WaitForProcessEnding "firefox.exe" /TimeOutSeconds 30
I think this first waits for the process to start and then end. I could be wrong, but better test this.

I don't think you have to check if firefox is running before you run a killtask command. It will handle itself.
Hallo SisterOfMercy,

ich denke, da hast du Recht - daher habe ich den Parameter "/TimeOutSeconds 30" angehängt, damit die Routine trotzdem weiter läuft. Ich werde mal weiter basteln und schauen, ob ich das "taskkill" auch allein ausführen kann.

Vielen Dank für deine Antwort!
Sebastian Kranz,
regio iT gesellschaft für informationstechnologie mbh
www.regioit.de
Benutzeravatar
wolfbardo
uib-Team
Beiträge: 1354
Registriert: 01 Jul 2008, 12:10

Re: Laufende Prozesse durchsuchen?

Beitrag von wolfbardo »

Hallo,
skranz1982 hat geschrieben:
Hallo Bardo,

diese Funktion habe ich mir auch schon angeschaut,hilft mir aber leider nicht viel: Unser Kunde hat bei uns zwei verschiedene mozilla.cfg-Versionen bestellt, eine restriktive und eine "laissez-faire"-Variante. In meinem o.g. Paket habe ich daher eine Produkteigenschaft "strongsecurity" definiert und nutze diese, um (zur Zeit nur) PC-abhängig auszuwählen, welche Datei ich nun kopiere.

Trotzdem vielen Dank für deinen Link! Hab ich direkt mal als Favorit gespeichert :-)
Man kann in dem Abo-Paket auch mehrere mozilla.cfg hinterlegen,
also

Code: Alles auswählen

laissez-faire.cfg
strongsecurity
und dann über die Property mozilla.cfg die passende cfg pro Client auswählen,

Gruss
Bardo Wolf


OPSICONF 2024
https://opsi.org/en/opsiconf/

opsi-Basisworkshops:

22. - 25. 04. 2024


opsi support - uib gmbh
For productive opsi installations we recommend maintainance + support contracts which are the base of opsi development.

http://www.uib.de
Benutzeravatar
skranz1982
Beiträge: 80
Registriert: 09 Okt 2014, 08:01

Re: Laufende Prozesse durchsuchen?

Beitrag von skranz1982 »

holgerv hat geschrieben:Hi,

ungetestet, weil ich gerade keinen Windows-Rechner in der Nähe habe:

Code: Alles auswählen

[Actions]
DosInAnIcon_isFirefoxExeRunning
if getLastExitCode = "0"
   message "firefox.exe is running"
else
   message "firefox.exe is not running"
endif

[DosInAnIcon_isFirefoxExeRunning]
tasklist.exe | find "firefox.exe"
exit %ERRORLEVEL%
Vielleicht schreibst Du ja kurz, ob (und ggf. wie) es funktioniert hat.

Schönen Gruß


Holger
Hi Holger,
vielen Dank für deine Antwort. Probiere ich mal aus und melde mich dann wieder.

Ciao,
Sebastian
Sebastian Kranz,
regio iT gesellschaft für informationstechnologie mbh
www.regioit.de
Antworten