Uvádíte toto:
Chtěl bych, aby tato aplikace (což je server) přetrvávala i poté, co ukončím SSH, a kdykoli bych chtěl mít možnost se znovu připojit ke konzole a zadávat příkazy na serveru.
Mírně vágní v cílech, ale já se na to vrhnu!
Chcete-li spustit jakýkoli příkaz jako proces na pozadí na serveru Linux, měli byste před příkaz přidat nohup
a připojte &
do konce.
Takže konečný příkaz by byl:
nohup [your command] &
nohup
znamená, že příkaz by měl ignorovat „zavěšení“ a ampersand &
k němu je připojen příkaz shellu, který říká systému, aby spustil příkaz jako proces na pozadí. Více informací o jeho použití naleznete zde.
Když spustíte příkaz, jako je tento, proces se spustí, budete přesměrováni zpět na příkazový řádek a můžete ukončit relaci terminálu nebo dokonce jít a během této relace terminálu udělat něco jiného, co s tímto příkazem nesouvisí.
Existují alespoň tři způsoby, jak toho dosáhnout:nohup
('no hang up'), screen
/tmux
nebo disown
. Z vaší otázky je trochu nejasné, zda se po odpojení potřebujete připojit k serveru a komunikovat s démonem.
Pokud je to tento případ, nohup
a disown
nebudou dobré zápasy, když proces uvolníte (ačkoli běží dál). tmux
(a také screen
) udrží období v běhu, i když vy.
Další informace naleznete na příslušných stránkách:
man nohup
man tux
Bash disown (za předpokladu, že používáte Bash, ačkoli mnoho jiných shellů obsahuje něco podobného)