(Linux) ¿Cómo iniciar una instancia de una aplicación que ya se está ejecutando en modo de bloqueo?

(Linux) ¿Cómo iniciar una instancia de una aplicación que ya se está ejecutando en modo de bloqueo?

Para explicarlo uso Firefox, pero también pasa con otras aplicaciones, aquí está el script:

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

Digamos que Firefox está cerrado cuando ejecuto

$ ./ff.sh

el script está bloqueado hasta que cierre Firefox. Sólo después de eso obtengo el código de salida.

0

$ 

Ahora digamos que Firefox ya se está ejecutando, cuando ejecuto el script, se abre una nueva pestaña de Firefox y se ejecuta hasta el final. (Y Firefox sigue funcionando).

$ ./ff.sh
0

$ 

¿Cómo puedo lograr que el comportamiento sea el mismo que en el primer ejemplo independientemente de la condición de inicio? Básicamente quiero lograr lo opuesto a

$ cmd &

Respuesta1

Parece que se ejecutó de forma asincrónica, cuando en realidad no fue así.
Cuando se inicia Firefox, busca una instancia existente; si la encuentra, delega el control a la instancia existente y finaliza. De ahí la confusión.

información relacionada