Ich möchte über TProcess innerhalb eines Threads einen Befehl anstoßen und die Ausgabe entsprechend wieder einlesen. Das ist soweit auch alles kein Problem.
Nur, wenn der Befehl nicht existiert scheint sich der Process niemals zu beenden was natürlich auch zur Folge hat, das der Thread ewig weiter läuft.
Gibt es eine Möglichkeit, zu prüfen, ob der Befehl überhaupt auf dem aktuellen System zur Verfügung steht?
(Also bei Windows im PATH liegt, bzw. eben bei Linux unter den verdächtigen Ordnern und über die Konsole nutzbar ist?)
Prüfen, ob Befehl in "PATH"
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Prüfen, ob Befehl in "PATH"
Johannes
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Prüfen, ob Befehl in "PATH"
OOops,
Linux verwendet doch ausschließlich die aktuelle PATH Variable zum Auffinden eines Executables.
Mit "which" kannst Du Dir das Executable suchen lassen.
-Michael
Linux verwendet doch ausschließlich die aktuelle PATH Variable zum Auffinden eines Executables.
Mit "which" kannst Du Dir das Executable suchen lassen.
-Michael
Re: Prüfen, ob Befehl in "PATH"
Bist du sicher? Das kann ich nicht nachvollziehen. Es gibt doch eine astreine Exception, wenn das Prog. nicht da ist.monta hat geschrieben: Nur, wenn der Befehl nicht existiert scheint sich der Process niemals zu beenden
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Re: Prüfen, ob Befehl in "PATH"
Muss ich nochmal probieren.
eventuell liegt es auch an dem Code, der die Ausgabe üder die Pipe wieder einliest, das der irgendwie den Abbruch nicht mitbekommt.
eventuell liegt es auch an dem Code, der die Ausgabe üder die Pipe wieder einliest, das der irgendwie den Abbruch nicht mitbekommt.
Johannes