Vous déclarez ceci :
J'aimerais que cette application (qui est un serveur) persiste après avoir terminé SSH et, à tout moment, j'aimerais pouvoir me reconnecter à la console et émettre des commandes sur le serveur.
Un peu vague dans les objectifs, mais je vais essayer !
Pour exécuter une commande en tant que processus d'arrière-plan sur un serveur Linux, vous devez faire précéder la commande de nohup
et ajoutez &
jusqu'au bout.
Donc la commande finale serait :
nohup [your command] &
Le nohup
signifie que la commande doit ignorer les "raccrochages" et l'esperluette &
en annexe se trouve une commande shell qui indique au système d'exécuter la commande en tant que processus d'arrière-plan. Vous trouverez plus d'informations sur son utilisation ici.
Lorsque vous exécutez une commande comme celle-ci, le processus s'exécutera, vous serez renvoyé à l'invite de commande et vous pourrez quitter la session de terminal ou même aller faire autre chose sans rapport avec cette commande pendant cette session de terminal.
Il existe au moins trois façons de procéder :nohup
('pas de raccrochage'), screen
/tmux
, ou disown
. Votre question n'est pas claire quant à votre besoin de vous connecter au serveur et d'interagir avec le démon après votre déconnexion.
Si tel est le cas, nohup
et disown
ne seront pas de bons matchs lorsque vous relâchez le processus (bien qu'il continue de fonctionner). tmux
(et aussi screen
) maintiendra un terme en cours d'exécution même lorsque vous.
Pour plus d'informations, vous pouvez consulter les pages respectives :
man nohup
man tux
Bash disown (en supposant que vous utilisez Bash, bien que de nombreux autres shell incluent quelque chose de similaire)