Solution basée sur l'écran
Démarrez le serveur comme ceci :
# screen -d -m -S ServerFault tr a-z A-Z # replace with your server
écran démarrera en mode détaché, donc si vous voulez voir ce qui se passe, exécutez :
# screen -r ServerFault
Contrôlez le serveur comme ceci :
# screen -S ServerFault -p 0 -X stuff "stop^M"
# screen -S ServerFault -p 0 -X stuff "start^M"
# screen -S ServerFault -p 0 -X stuff "^D" # send EOF
(cette réponse est basée sur envoi d'une saisie de texte sur un écran détaché de la Unix et Linux site de la fratrie)
Explication des paramètres :
-d -m
Écran de démarrage en détaché mode. Cela crée une nouvelle session mais ne s'y attache pas. Ceci est utile pour les scripts de démarrage du système.
-S
nom de la session
Définissez le nom de la nouvelle session à nom de la session .
-r
[ pid.tty.host ]
-r
propriétaire de la session /[ pid.tty.host ]
Reprendre une session d'écran détachée.
-p
numéro_ou_nom |-|=|+
Présélectionner une fenêtre. Ceci est utile lorsque vous voulez vous rattacher à une fenêtre spécifique ou que vous voulez envoyer une commande via la fonction -X
à une fenêtre spécifique.
-X
Envoyer la commande spécifiée à une session d'écran en cours, par exemple stuff.
stuff
[ chaîne de caractères ]
Remplir la corde chaîne de caractères dans le tampon d'entrée de la fenêtre actuelle. C'est comme le paste
mais avec beaucoup moins de frais généraux. Sans paramètre, screen demandera une chaîne à remplir. Vous ne pouvez pas coller de grands tampons avec la commande stuff
commandement.
solution basée sur tmux
Démarrez le serveur comme ceci :
# tmux new-session -d -s ServerFault 'tr a-z A-Z' # replace with your server
tmux démarrera en mode détaché, donc si vous voulez voir ce qui se passe, exécutez :
# tmux attach-session -t ServerFault
Contrôlez le serveur comme ceci :
# tmux send-keys -t ServerFault -l stop
# tmux send-keys -t ServerFault Enter
# tmux send-keys -t ServerFault -l start
# tmux send-keys -t ServerFault Enter
# tmux send-keys -t ServerFault C-d # send EOF
Explication des paramètres :
new-session
[ -AdDEPX ] [ -c répertoire de départ ] [ -e environnement ] [ -f drapeaux ] [ -F format ] [ -n nom de la fenêtre ] [ -s nom de la session ] [ -t nom-groupe ] [ -x largeur ] [ -y hauteur ] [ Shell-commande ]
(alias : new
)
Créer une nouvelle session avec le nom nom de la session .
La nouvelle session est attachée au terminal courant sauf si -d est donné. nom de la fenêtre et Shell-commande sont le nom et la commande Shell à exécuter dans la fenêtre initiale.
send-keys
[ -FHlMRX ] [ -N nombre de répétitions] [ -t volet cible ] clé
(alias : send
)
Envoyer une ou plusieurs touches à une fenêtre. Chaque argument clé est le nom de la clé (telle que 'C-a' ou 'NPage') à envoyer ; si la chaîne n'est pas reconnue comme une clé, elle est envoyée comme une série de caractères. Tous les arguments sont envoyés séquentiellement, du premier au dernier.
Le site -l désactive la recherche de noms de clés et traite les clés comme des caractères UTF-8 littéraux. L'option -H s'attend à ce que chaque touche soit un nombre hexadécimal pour un caractère ASCII.