(Linux) Como iniciar uma instância de um aplicativo já em execução no modo de bloqueio?

(Linux) Como iniciar uma instância de um aplicativo já em execução no modo de bloqueio?

Para explicar eu uso o Firefox, mas isso também acontece com outros aplicativos, aqui está o script:

$ cat ff.sh
#!/bin/sh
firefox http://superuser.com/
echo "$?"

Digamos que o Firefox esteja fechado, quando executo

$ ./ff.sh

o script fica bloqueado até eu fechar o Firefox. Só depois disso recebo o código de saída.

0

$ 

Agora digamos que o Firefox já esteja rodando, quando executo o script ele abre uma nova aba do Firefox e vai até o final. (E o Firefox continua funcionando.)

$ ./ff.sh
0

$ 

Como posso conseguir que o comportamento seja o mesmo do primeiro exemplo, independentemente da condição inicial? Basicamente, quero alcançar o oposto de

$ cmd &

Responder1

Parece que foi executado de forma assíncrona, mas na verdade não foi.
Quando o Firefox é iniciado, ele verifica a instância existente; se for encontrado, ele delega o controle à instância existente e se encerra. Daí a confusão.

informação relacionada