• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Programm via Terminal öffnen, aber nach beenden offen lassen

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Hi!

Wie kann ich ein Programm (ohne GUI) im terminal offen lassen, nachdem ich es zb. via ./MeinServer gestartet habe? Wenn ich dann das Terminal fenster schließe, beendet ja auch das Programm.

Und, wie kann ich das geöffnete Programm, welches ja im Hintergrund läuft, wieder accessen? So, dass ich einen befehl senden könnte?

Hab mir dazu im "MeinServer" Programm ein Console.readLine geschrieben. (Ist ein Cocoa Programm)


Grüße
Rasmus
 
Danke!

Das hab ich jetzt geschafft. Meine Idee war jetzt eine Gui zu basteln und mit dieser den Server-Prozess zu starten.
Mit NSTask geht das ja schon ganz gut, aber wie teile ich ihm mit, "ctrl-a, c" zu drücken? oder muss ich das nicht, wenn ich einfach den NSTask und seine StandartOutputPipe release? Und dann später "screen -r" aufrufe?

Kann ich nicht vom NSTask auch eine StandartInputPipe haben und ihm dann sowas wie "stop\n" geben? damit mein server-prozess wieder gestoppt wird?


Gruß
Rasmus
 
Du möchtest dich jetzt mal in "launchd" und die Developer-Doku zum Thema Daemons/Agents einlesen.
Eine umständlichere und abwegigere Art ein Hintergrundprogramm zu starten ist mir echt noch nie begegnet.
 
Du möchtest dich jetzt mal in "launchd" und die Developer-Doku zum Thema Daemons/Agents einlesen.
Eine umständlichere und abwegigere Art ein Hintergrundprogramm zu starten ist mir echt noch nie begegnet.
Schonmal auf entfernten Rechnern Compile-Vorgaenge laufen gelassen? Z.b. auf Clustern?
Oder einen anderen Fall gehabt, in dem Prozesse die via SSH-Session angestoßen wurden umbedingt einen Verbindungsabbruch ueberleben muessen?
Oder wenn ich entwickel und eben noch kein INIT-Script oder launchd-Eintrag haben moechte?