Seite 1 von 1

Gegenstück zu RunProgram() unter Linux?

Verfasst: 21.11.2008 15:01
von Kukulkan
Hallo,

Ich mach gerade ein kleines Tool unter Linux (Ubuntu). Dabei starte ich weitere Prozesse mit RunProgram().

Jetzt möchte sicherstellen, dass vorher ein evtl. bereits laufender Prozess beendet ist. Im Terminal mache ich das so:
PID holen: ps -C Programmname -o pid --no-heading --sort=pid

Dann beenden: kill -TERM PID

Kann ich das irgendwie mit PB auch machen? Wenn ich die Anwendung gestartet habe, kann ich diese dann mit kill auch wieder terminieren oder benötigt kill immer sudo bzw. root Rechte?

Volker

Verfasst: 21.11.2008 15:06
von Macros
Das geht mit PB ganz genauso.
Der erste Teil ist der Programmname, alles nach dem ersten Leerzeichen übergibst du als Parameter.

Root Rechte brauchst du nur, wenn du einen Prozess beenden willst,
der nicht dem Nutzer, der dein Programm gestartet hat gehört.

Bei deiner Methode musst du allerdings die Ausgabe des ersten Befehls auslesen.
Wie das geht steht in der Hilfe bei RunProgram

übrigens: falls du den Programmnamen kennst, reicht auch einfach
killall {name}
Dann musst du auch nicht die Ausgabe lesen

Verfasst: 21.11.2008 15:18
von Kukulkan
Hi Macros,

Danke. Wow, so einfach. Ich hab jetzt mal folgendes eingebaut:

Code: Alles auswählen

RunProgram("killall", "-q Programmname")
Müssen die Parameter (-q und Programmname) in den Parameters Teil von RunProgram()? Ich hatte da unter Windows unterschiedliche Erfahrungen damit. Manchmal mussten die Parameter in den Programmnamen:

Code: Alles auswählen

RunProgram("killall -q Programmname")
Weisst Du das gerade zufällig? Ansonsten werd ich mal testen...

Volker

Verfasst: 21.11.2008 15:47
von Macros
Du sagst es schon, Parameter.

Ich hab auch unter Windows noch nicht erlebt,
dass man es anders rum macht.