Gibt es ein Solaris-Äquivalent zum Linux-Befehl „Screen“?
Beispiel für die Verwendung des Screen-Befehls in Linux
example for linux : screen -D -m ./run_some_script.pl
example for Solaris : ?
Manpage für den Screen-Befehl für Linux: http://www.oreillynet.com/linux/cmd/cmd.csp?path=s/screen
Antwort1
Wenn Sie den Prozess als Ersatz für „screen“ im Hintergrund ausführen möchten, ohne dass er beim Beenden des Servers (oder bei Trennung der Verbindung) beendet wird, stehen Ihnen einige Optionen zur Verfügung:
Führen Sie den Prozess in einer Subshell wie folgt aus:
(meinprog -opts &)
Lehnen Sie den Prozess ab (wenn Sie Bash oder Zsh haben), nachdem Sie ihn in den Hintergrund verschoben haben:
myprog -opts &; verleugnen
Führen Sie das Skript mit nohup aus:
nohup ./myprog 2>&1 &
In den meisten der oben genannten Fälle wird der Prozess vom Benutzer getrennt und unter "init" gesetzt. Das bedeutet, dass Sie ihn sicher beenden können, ohne dass der Prozess heruntergefahren wird (andernfalls wird beim Verlassen der Shell ein SIGHUP an das Programm gesendet, das es herunterfährt).
Sie können sich jedoch nicht erneut mit diesem Prozess verbinden. Für jedes Programm, das Sie mit den obigen Optionen ausführen, müssen Sie die Standardausgabe in eine Datei wie diese schreiben (zum Beispiel diese):
nohup ./myprog 2>&1>myprog.log &
Und dann überwachen Sie diese Datei.
Antwort2
GNU screen ist kein linux
Werkzeug, es ist einGNUTool, das normalerweise in Linux enthalten ist, aber auch häufig in BSD, OSX und *nix zu finden ist. Die Installation unter Solaris sollte einfach sein und es ist wahrscheinlich bereits ein Paket verfügbar.
Eine Alternative zu GNU Screen heißttmux. Obwohl ich glaube, dass dies weniger üblich ist.
Antwort3
Wenn Sie screen für Solaris installieren müssen, erhalten Sie es vonOpenCSW.