#1 Background tasks

開啟中
maxime-alves5 年之前建立 · 2 條評論

Une idée de feature : Pouvoir lancer des commandes en background, je pense que c’est utile pour les tâches prenant un peu de temps, ou lorsque la connection SSH n’est pas stable.

Une idée de feature : Pouvoir lancer des commandes en background, je pense que c'est utile pour les tâches prenant un peu de temps, ou lorsque la connection SSH n'est pas stable.
maxime-alves 評論 5 年之前
發佈者

J’ai ajouté l’option -B pour mettre une tâche en background. Cependant, récupérer la main sur la tâche n’étant pas évident (besoin de gdb, etc…), j’ai aussi trouvé utile de rajouter l’option -D.

L’option -D utilise l’utilitaire “dtach” qui permet de se rattacher à la session de la commande. mhssh affiche simplement le nom de la socket à rattacher au cas ou l’on veut voir la tâche en cours.

J'ai ajouté l'option -B pour mettre une tâche en background. Cependant, récupérer la main sur la tâche n'étant pas évident (besoin de gdb, etc...), j'ai aussi trouvé utile de rajouter l'option -D. L'option -D utilise l'utilitaire "dtach" qui permet de se rattacher à la session de la commande. mhssh affiche simplement le nom de la socket à rattacher au cas ou l'on veut voir la tâche en cours.
yannweb 評論 5 年之前
所有者

Salut ! Merci pour la contrib, mais malheureusement je suis pas hyper pour ajouter ces options au script :( L’idée c’est vraiment qu’il soit très simple… D’autant qu’il ne s’agit pas tant d’ajouter des features à mhssh que d’y coder en dur des commandes habituels (les options -s pour screen et -t pour tmux seraient presque aussi légitimes).

Au besoin on peut utiliser des alias ou des fonctions bash (ou des scripts qui appels mhssh). Les deux fonctions, inspirés de ton patch, devraient fonctionner :

function mhssh_dtach { mhssh "TMPFILE=$(mktemp -u); dtach -n \$TMPFILE $@; echo \$TMPFILE"; }
function mhssh_nohup { mhssh "nohup $@ > /dev/null < /dev/null & PID=\$!; disown \$PID; echo \$PID"; }

Et si ça peut aider, j’ai pu contourner mes problèmes de SSH interrompus en lançant toujours mhssh en local : typiquement je me connecte à l’hyperviseur avec un ssh-agent, je lance un screen et le mhssh à l’interieur pour update les VM en local.

P.S. : ouai, nohup c’est la merde après ;)

Salut ! Merci pour la contrib, mais malheureusement je suis pas hyper pour ajouter ces options au script :( L'idée c'est vraiment qu'il soit très simple... D'autant qu'il ne s'agit pas tant d'ajouter des features à mhssh que d'y coder en dur des commandes habituels (les options -s pour screen et -t pour tmux seraient presque aussi légitimes). Au besoin on peut utiliser des alias ou des fonctions bash (ou des scripts qui appels mhssh). Les deux fonctions, inspirés de ton patch, devraient fonctionner : <pre> function mhssh_dtach { mhssh "TMPFILE=$(mktemp -u); dtach -n \$TMPFILE $@; echo \$TMPFILE"; } </pre> <pre> function mhssh_nohup { mhssh "nohup $@ > /dev/null < /dev/null & PID=\$!; disown \$PID; echo \$PID"; } </pre> Et si ça peut aider, j'ai pu contourner mes problèmes de SSH interrompus en lançant toujours mhssh en local : typiquement je me connecte à l'hyperviseur avec un ssh-agent, je lance un screen et le mhssh à l'interieur pour update les VM en local. P.S. : ouai, nohup c'est la merde après ;)
登入 才能加入這對話。
未選擇標籤
未選擇里程碑
No Assignees
2 參與者
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
取消
儲存
尚未有任何內容