-nは、アプリケーションが既に起動していても、新しいプロセスとしてもう1つ起動するオプションである。
-nなしの場合
-nを付けずに同じアプリケーションをopenすると、既に起動しているプロセスが再利用され、新しいドキュメントとして開かれる。
$ open -a TextEdit a.txt
$ pgrep -x TextEdit
93520
$ open -a TextEdit b.txt
$ pgrep -x TextEdit
93520
同じプロセスIDのままで、TextEdit内にa.txtとb.txtの2つのウィンドウが開く。
-nを付けた場合
-nを付けると、既に起動していても新しいプロセスとして別インスタンスが起動する。
$ open -n -a TextEdit a.txt
$ pgrep -x TextEdit
93416
93423
プロセスIDが2つになり、同じアプリケーションが別プロセスとして並行動作していることが分かる。
用途
複数のプロファイル・ウィンドウ設定を独立して使いたいアプリケーションや、既存インスタンスの状態に影響を与えずに新しいウィンドウ群を開始したい場合に使う。
参考
open command - Open a file, folder or URL\第一線のプログラマーの行動原理を学べる!/
