Penso che la chiave qui sia basata su questa affermazione:
For instance, if I run top & ; disown, top quits when I quit Terminal. I want to keep top alive.
Nel momento in cui esci da Terminal, uccide immediatamente qualunque cosa tu stavi correndo. È qui che entrano in gioco multiplexer terminali .
La soluzione a questo è usare tmux .
tmux è un "multiplexer terminale" ma una delle migliori caratteristiche al riguardo è che continua a funzionare anche se chiudi Terminale.
Dalla loro pagina man
:
tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.
Quindi, se vuoi lanciare top
, puoi scollegarlo da esso mentre continua in background anche se Terminate si chiude.
tmux è disponibile attraverso homeberew e MacPorts .
- HomeBrew:
sudo brew install tmux
- MacPort:
sudo port install tmux
Informazioni dettagliate sull'installazione sono disponibili sui rispettivi siti.
Per quanto riguarda l'utilizzo di tmux
, avvia semplicemente Terminal ed esegui tmux
. Otterrai una schermata del terminale con una barra verde.

Esegui(adesempio)top
.

EscieriavviaTerminal.
Perottenereunelencodisessioni:
tmuxlist-sessions
0:1windows(createdWedSep718:13:212016)[132x24]
Collegatiaquellasessionespecifica
tmuxattach-t0
Elasessionevieneripristinata.