(Linux) 차단 모드에서 이미 실행 중인 애플리케이션의 인스턴스를 시작하는 방법은 무엇입니까?

(Linux) 차단 모드에서 이미 실행 중인 애플리케이션의 인스턴스를 시작하는 방법은 무엇입니까?

제가 Firefox를 사용하지만 다른 응용 프로그램에서도 이런 현상이 발생한다는 점을 설명하기 위해 스크립트는 다음과 같습니다.

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

Firefox가 닫혀 있다고 가정하고 실행하면

$ ./ff.sh

Firefox를 닫을 때까지 스크립트가 차단됩니다. 그 후에야 종료 코드를 얻습니다.

0

$ 

이제 Firefox가 이미 실행 중이라고 가정해 보겠습니다. 스크립트를 실행하면 새 Firefox 탭이 열리고 끝까지 실행됩니다. (그리고 Firefox는 계속 실행됩니다.)

$ ./ff.sh
0

$ 

시작 조건에 관계없이 동작이 첫 번째 예와 동일하도록 하려면 어떻게 해야 합니까? 기본적으로 나는 그 반대를 달성하고 싶습니다.

$ cmd &

답변1

비동기적으로 실행된 것처럼 보이지만 실제로는 그렇지 않았습니다.
Firefox가 시작되면 기존 인스턴스를 확인하고, 발견되면 기존 인스턴스에 제어를 위임하고 자체적으로 종료됩니다. 따라서 혼란이 있습니다.

관련 정보