• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> 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
 

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
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
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
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.
 

Irgendein Held

Oberösterreichischer Brünerling
Registriert
17.06.07
Beiträge
714
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?