Aqui use isto:
pnuke -h hosts-file -A java
pode terminar todo o processo java em cada servidor
Quando executar vários servidores por pssh, use aqui
pssh -h hosts-file -A -I script.sh
no script.sh, ele contém vários comandos java,
depois do comando, quero finalizar todo o processo, aqui uso:
pnuke -h hosts-file -A script.sh
mas quando executar o processo novamente, ele mostra que algumas portas foram usadas (o comando java usa algumas portas, então isso significa que o processo java ainda funciona em cada servidor) Depois de usar o punk, aqui está a informação de retorno:
[1] 10:43:39 [FAILURE] [email protected]:22 Exited with error code 1
[2] 10:43:39 [FAILURE] [email protected]:22 Exited with error code 1
[3] 10:43:39 [FAILURE] [email protected]:22 Exited with error code 1
Então, como concluir todos os processos Java paralelos no servidor mestre? Portanto, não é necessário fazer login em cada servidor para eliminá-los.
Parece que seu comando pnuke
está incorreto, pnuke
não aceita que um script seja enviado na entrada padrão da mesma maneira que pssh
faz.
Fonte: link
Você pode tentar:
SSHPASS='ssh-askpass' PARALLEL_SSH='sshpass ssh' parallel --slf hosts-file script.sh
O GNU Parallel deve eliminar tarefas em execução remota quando o pai morre.