manipula o processo sobre ssh por PID

3

Digamos que haja um processo (PID 1501) em execução em um servidor. o servidor tem o firefox aberto (como 1501) ... do computador remoto, quero enviar comandos para o PID 1501 (por exemplo, 1501 -new-tab). Como eu executaria esse comando sobre o ssh?

TLDR: como faço para enviar argumentos de linha de comando para um pid específico?

    
por tester 10.02.2012 / 01:40

1 resposta

4

Você não pode, em geral, enviar argumentos de linha de comando para um pid específico.

O Firefox possui seu próprio sistema de controle remoto / comando que permite enviar itens como comandos new-tab para uma instância em execução. Já faz um tempo desde que eu olhei, mas acredito que só depende de ter a variável DISPLAY ajustada para combinar com aquela que o firefox está rodando.

EG, no servidor, você provavelmente tem DISPLAY configurado para: 0.0 (o primeiro display X local). Você pode verificar isso executando

echo $DISPLAY

de um terminal dentro do X no próprio servidor . Se isso estiver correto, então você deve ser capaz de usar ssh no servidor como o mesmo usuário que está executando o X e o firefox, configurando seu DISPLAY para: 0.0, em seguida executando o firefox -new-tab link :

ssh user@server
export DISPLAY=:0.0
firefox -new-tab http://blah

No entanto, quando eu faço isso, geralmente funciona do outro jeito - eu estou rodando o firefox na minha máquina local, eu ssh para um sistema remoto, e por qualquer razão execute o firefox -new-tab, e ele abre um novo guia no firefox em execução na minha máquina local. Não há razão para que não funcione ao contrário, mas é um pouco complicado.

Atualizado Acabei de testar isso por meio de sshing em outra máquina, depois de volta ao meu local, e definitivamente funciona como sugerido. ssh como o mesmo nome de usuário que já está executando o firefox, defina sua variável DISPLAY corretamente, então os comandos remotos do firefox funcionarão.

    
por 10.02.2012 / 01:53

Tags