Aktuellen Prozess herausfinden.

Java-Pelé

Mitglied
Man kann mit Runtime.exec(..) einen Prozess starten. Diese Methode gibt ein Objekt der Klasse Process zurück. Meine Frage: Wie komme ich an das eigene Prozess-Objekt? Die Klasse Thread hat die Methode Thread.currentThread(). Wo ist "currentProcess()"?
 

Miness

Mitglied
Die Process-Klasse ist nur für Subprozesse gedacht, du kommst also darüber nicht an den Haupt-Java-Prozess ran.

Aber für was brauchst du denn überhaupt ein Process-Objekt? An die Streams kommst du ja auch über die System-Klasse ...
 

Java-Pelé

Mitglied
Ich arbeite gerade mit Groovy und ich möchte die Groovy-Shell in einem gescheiten Swing-Fenster ausführen lassen. Ich habe jetzt das meiste fertig. Ich musste die Sache verwerfen, die Groovy-Shell in einem eigenen Prozess zu starten, denn dann könnten die Shell und die Hauptanwendung nicht auf dieselben Objekte zugreifen. Bei Prozessen könnten man aber wenigstens die Streams vernünftig umleiten, sodass es fluppt.

Die Groovy-Shell läuft bei mir in einem eigenen Thread. Die Klasse org.codehaus.groovy.tools.shell.Groovysh erlaubt es, dass man die Streams reinreicht. Das sieht bei im Java-Code so aus:

Java:
final IO io = new IO(cta.getIn(), cta.getOut(), cta.getErr());
final Groovysh gsh = new Groovysh(io);

"cta" ist ein Swing-Textfenster. Dort kann man die drei Streams abgreifen und der Groovy-Shell übergeben.

Das funktioniert eigentlich gut. Gebe ich 4+4 ein, berechnet mir die Groovy-Shell das richtige Ergebnis und gibt es zurück. Gibt's einen Fehler, wird auch das richtig im Fenster wiedergegeben (das dürfte über den vermeintlichen STDERR-Kanal laufen). Aber wenn ich println("Hallo Welt") aufrufe, dann gibt er das nicht zurück. Das Resultat erscheint dann in der Console vom Eclipse. Da wird wohl der System.out vom Prozess verwendet. ;(

Ich komme mir ein wenig verschaukelt vor.
 

Java-Pelé

Mitglied
Dafür habe ich nun auch eine Lösung:

Java:
System.setOut(cta.getOut());
System.setErr(cta.getErr());
System.setIn(cta.getIn());

Aber ich finde diese suboptimal. Jeder andere Thread, der etwas auf System.out schnackt, produziert Output in dem Konsolenfenster. :(
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Name des aktuellen Programms Allgemeine Java-Themen 7
H Collections Aktuellen Index generell und nach Sortierung ausgeben Allgemeine Java-Themen 6
M Gibt es eine API die den aktuellen Wert eines Indikators beim Trading zurückgibt? Allgemeine Java-Themen 7
sandaime CMD aufrufen und aktuellen pfad ändern Allgemeine Java-Themen 11
B Aktuellen Sourcecode aus Browser laden Allgemeine Java-Themen 43
F Eclipse Eclipse kompiliert nicht mehr die aktuellen Dateien Allgemeine Java-Themen 2
P Aktuellen HTML Code auslesen (von JS manipuliert) Allgemeine Java-Themen 3
J Klassen Stromverbrauch des Aktuellen Systems Allgemeine Java-Themen 8
H Auslesen der aktuellen URL eines geöffneten Browser? Allgemeine Java-Themen 17
Steev Screenshot vom Bereich behind dem aktuellen Fenster machen Allgemeine Java-Themen 24
F Wie erfahre ich dynamisch den namen eines aktuellen Objektes Allgemeine Java-Themen 2
M Aktuellen heap space ermitteln? Allgemeine Java-Themen 2
R Exceptions mit aktuellen Programminformationen ausgeben? Allgemeine Java-Themen 2
S Aktuellen Methodennamen ermitteln (MIT Java 1.3) Allgemeine Java-Themen 2
T Wert an laufenden Java-Prozess übergeben Allgemeine Java-Themen 10
J Warten bis cmd Prozess fertig ist Allgemeine Java-Themen 2
L Prozess automatisch beenden Allgemeine Java-Themen 8
R PIPE Kommunikation mit Prozess blockiert Allgemeine Java-Themen 0
L Java Web Start - generierter Prozess Allgemeine Java-Themen 4
Tom299 Beliebiges Windows-Programm / Prozess in den Vordergrund bringen Allgemeine Java-Themen 4
A Linux: Native Library mit Rootrechten ohne Prozess mit sudo zu starten Allgemeine Java-Themen 1
K Problem: Java-Klasse mit mehreren Threads als eigenen Prozess starten Allgemeine Java-Themen 3
Thallius Neuen Prozess starten, der auch nach Beedingung des Starter-Prozesses weiterläuft? Allgemeine Java-Themen 5
B Erkennen, wann Prozess beendet ist, dann Thread beenden. Allgemeine Java-Themen 6
D Grafisches Frontend zu einem Java Prozess erstellen Allgemeine Java-Themen 0
D neuen Prozess starten und anwendung beenden. Allgemeine Java-Themen 3
L Java Prozess 100% -> Analyse Allgemeine Java-Themen 2
P Scanner als Inputstream für Java Prozess Allgemeine Java-Themen 4
GUI-Programmer Prozess eine Bezeichnung geben Allgemeine Java-Themen 3
M Einen Prozess "crashen" lassen Allgemeine Java-Themen 9
I %AppData% Variable für einen Prozess setzen Allgemeine Java-Themen 23
E externen Prozess schließen, wenn Programm geschlossen wird Allgemeine Java-Themen 2
S Prozess der von anderem Prozess gestartet wurde beenden? (Windows Bildschirmtastatur) Allgemeine Java-Themen 4
Nicer Prozess über Prozessnamen beenden Allgemeine Java-Themen 15
K Prozess starten, überwachen und beenden Allgemeine Java-Themen 4
O Wie laufenden Prozess einfangen? Allgemeine Java-Themen 7
X Prozess-Objekt nach Ausführung der destroy-Methode null oder nicht null ? Allgemeine Java-Themen 10
D Shell-Prozess lässt Thread nicht enden Allgemeine Java-Themen 4
0din Prozess einer .jar umbenennen Allgemeine Java-Themen 7
data89 Java als Boot-Prozess/Daemon? Allgemeine Java-Themen 6
reibi Kill eines Java-Prozesses und Stop-Prozess Allgemeine Java-Themen 3
T In der JVM einen weiteren, unabhängigen Prozess starten Allgemeine Java-Themen 11
G Runtime.exec - Prozess "mittendrin" "einfach Allgemeine Java-Themen 4
Y ProcessBuilder, Prozess wird gestartet, aber Anwendung nicht Allgemeine Java-Themen 5
M String an externen Prozess senden/auslesen Allgemeine Java-Themen 25
T Prozess beenden Allgemeine Java-Themen 3
J Zweiter Prozess der alle x Sekunden etwas abfragen soll Allgemeine Java-Themen 2
G Prozess direkt starten beim Start des Appservers Allgemeine Java-Themen 3
G Prozess-Status Allgemeine Java-Themen 8
H Kommunikation mit einem c-Prozess funzt nicht richtig Allgemeine Java-Themen 5
L Zugriff auf anderen Prozess der VM Allgemeine Java-Themen 9
C nur einen Prozess eines Programmes erlauben Allgemeine Java-Themen 8
S was passiert bei diesem filereader prozess Allgemeine Java-Themen 2
A Java Prozess in neuer JVM Allgemeine Java-Themen 8
K Prozess-Visualisierung: Stichwörter gesucht Allgemeine Java-Themen 4
D runtime.exec --> Prozess hängt sich auf Allgemeine Java-Themen 7
S Prozess javaw.exe läuft immer noch, obwohl Programm beendet Allgemeine Java-Themen 6
M Thread als eigenständiger Linux Prozess mit PID Allgemeine Java-Themen 8
clemente Swing Applikation killt kwin Prozess (unter Linux / KDE) Allgemeine Java-Themen 3
M Zweiten Prozess in Java starten! Allgemeine Java-Themen 5
R Kontrolle über Externe Prozess Allgemeine Java-Themen 5
G Prozess beenden, wenn er hängt Allgemeine Java-Themen 9
S Wie eine Anwendung als neuer Prozess starten? Allgemeine Java-Themen 8
P wie beende ich einen prozess? Allgemeine Java-Themen 3
S blockierenden Prozess stoppen Allgemeine Java-Themen 13
J Wie kann man herausfinden, wo der Wert herkommt ? Allgemeine Java-Themen 13
J (Effektives) Arbeitverzeichnis herausfinden Allgemeine Java-Themen 5
RalleYTN Datentypen Herausfinden ob Object ein Array ist ohne den Typen des Arrays zu kennen? Allgemeine Java-Themen 12
M Kameradaten bzw. Einstellungen herausfinden Allgemeine Java-Themen 9
Thallius Herausfinden ob ein externes Programm schon gestartet ist? Allgemeine Java-Themen 10
P Herausfinden, ob ein Process ein Fenster hat Allgemeine Java-Themen 1
D Type herausfinden Allgemeine Java-Themen 15
M System herausfinden Allgemeine Java-Themen 6
F Herausfinden ob nur 1 oder 0 in einem String ist. Allgemeine Java-Themen 4
C Objekt Typ herausfinden Allgemeine Java-Themen 5
E Benötigte Klassen herausfinden Allgemeine Java-Themen 11
B bereits gelesene Bytes herausfinden Allgemeine Java-Themen 10
Zettelkasten Aus String bestimmtes Zeichen herausfinden Allgemeine Java-Themen 19
E Standort des Programms herausfinden Allgemeine Java-Themen 4
V Calendar monatstage herausfinden? Allgemeine Java-Themen 2
M Username herausfinden? Allgemeine Java-Themen 2
Bloodredangel Zeitstempel von Dateien in Archiven herausfinden Allgemeine Java-Themen 2
H Decmal-Trenner, wie herausfinden Allgemeine Java-Themen 3
P Textfile Encoding herausfinden Allgemeine Java-Themen 2
B Herausfinden ob Datum existiert Allgemeine Java-Themen 2
G Globalen Programm-Ordner herausfinden Allgemeine Java-Themen 7
S Innerer Type einer generischen Collection herausfinden? Allgemeine Java-Themen 13
oltoko PID für das laufende Java Programm herausfinden Allgemeine Java-Themen 3
G Wildcards - Methoden herausfinden. Allgemeine Java-Themen 7
D Benutzerrechte herausfinden Allgemeine Java-Themen 3
G System32 Folder herausfinden Allgemeine Java-Themen 5
D Herstelldatum eine Datei herausfinden Allgemeine Java-Themen 7
U Benutzer herausfinden Allgemeine Java-Themen 3
E Frequenz des Monitors herausfinden Allgemeine Java-Themen 12
Q Aktuelles Verzeichniss herausfinden. Allgemeine Java-Themen 2
V oberste klasse herausfinden. Allgemeine Java-Themen 21
P Java JRE herausfinden Allgemeine Java-Themen 2
G Standard-Browser herausfinden Allgemeine Java-Themen 4
W Herausfinden, wo das Programm liegt. Allgemeine Java-Themen 8
J Document_Root des Webordners herausfinden Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben