Como executar um programa de um servidor em um arquivo armazenado em uma máquina local

0

Eu tenho um arquivo C armazenado em minha máquina que desejo executar usando um programa em um servidor externo. A razão disso para isso são os requisitos de espaço - não tenho espaço de armazenamento no servidor externo, mas tenho espaço na máquina local. Posso ainda aproveitar os benefícios do servidor externo se eu usá-lo para executar um programa na minha máquina local?

Por exemplo, eu executo o código atual usando "mpirun -np 16 ./c.x", mas isso é enquanto eu estou logado no servidor e c.x fica em uma máquina que o servidor pode acessar. Existe uma maneira de executar "mpirun" usando "ssh"?

    
por stars83clouds 21.07.2016 / 21:52

1 resposta

1

Quando seu comando está no sistema local, e seu argumento de arquivo está no controle remoto ...

Use substituição de processos . .

No Bash

mpirun -np 16 <(ssh server cat c.x)

A sintaxe <(command) permite converter a saída de um comando shell em um arquivo, basicamente.

No Zsh

mpirun -np 16 =(ssh server cat c.x)

Quando seu arquivo está no sistema local e você deseja executar o comando no controle remoto ...

ssh remote "mpirun -np 16 /dev/fd/0" < c.x

Isso pode ou não funcionar dependendo das necessidades do programa mpirun.

    
por 21.07.2016 / 22:30

Tags