(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 啟動時,它會檢查現有實例,如果找到,它會將控制權委託給現有實例並自行結束。因此造成混亂。

相關內容