macOS에서 같은 프로그램을 다중실행해보자 (open)

2022. 12. 20. 19:43Life journal/뻘짓

반응형

캡쳐된 패킷을 여러개 띄워놓고 비교해볼 일이 있어서 WireShark를 열어놓고 보니, 파일 여러개를 띄워놓은 후 비교하는 방법이 마땅히 없어보였다. 어라, 이를 어쩐다. 그러던 중에 동료분이 open에 대한 내용을 발견해서, 간단하게 정리해두려고 한다.

open -h
Usage: open [-e] [-t] [-f] [-W] [-R] [-n] [-g] [-h] [-s <partial SDK name>][-b <bundle identifier>] [-a <application>] [-u URL] [filenames] [--args arguments]
Help: Open opens files from a shell.
      By default, opens each file using the default application for that file.
      If the file is in the form of a URL, the file will be opened as a URL.
Options:
      -a                    Opens with the specified application.
      -b                    Opens with the specified application bundle identifier.
      -e                    Opens with TextEdit.
      -t                    Opens with default text editor.
      -f                    Reads input from standard input and opens with TextEdit.
      -F  --fresh           Launches the app fresh, that is, without restoring windows. Saved persistent state is lost, excluding Untitled documents.
      -R, --reveal          Selects in the Finder instead of opening.
      -W, --wait-apps       Blocks until the used applications are closed (even if they were already running).
          --args            All remaining arguments are passed in argv to the application's main() function instead of opened.
      -n, --new             Open a new instance of the application even if one is already running.
      -j, --hide            Launches the app hidden.
      -g, --background      Does not bring the application to the foreground.
      -h, --header          Searches header file locations for headers matching the given filenames, and opens them.
      -s                    For -h, the SDK to use; if supplied, only SDKs whose names contain the argument value are searched.
                            Otherwise the highest versioned SDK in each platform is used.
      -u, --url URL         Open this URL, even if it matches exactly a filepath
      -i, --stdin  PATH     Launches the application with stdin connected to PATH; defaults to /dev/null
      -o, --stdout PATH     Launches the application with /dev/stdout connected to PATH;
          --stderr PATH     Launches the application with /dev/stderr connected to PATH to
          --env    VAR      Add an enviroment variable to the launched process, where VAR is formatted AAA=foo or just AAA for a null string value.

open -h를 실행하면 위와 같은 설명을 볼 수 있다. 간단하게 해석해보면 shell에서 파일을 열 수 있고, 만약 URL 형식이라면 해당 URL을 여는 명령어라고 한다. 이 중에서 주목할 것은 -n 옵션이다.

-n, --new             Open a new instance of the application even if one is already running.

-n 옵션을 줘서 실행하면 어플리케이션이 이미 실행중이라고 하더라도, 새로운 어플리케이션을 실행한다는 내용이다. 좋아, 당장 실행해보자. 참고로 보통 macOS에서 설치한 어플리케이션은 /Applications에 위치해있다. 나는 와이어 샤크를 실행할 목적이었으므로, 아래와 같이 실행했다.

open -n /Applications/Wireshark.app/
open -n /Applications/Wireshark.app/
open -n /Applications/Wireshark.app/

세 번 입력했으니까 세 개의 WireShark가 실행되어야 한다. 좋아, 다음의 실행 결과를 살펴보자.

와이어샤크가 세 개 실행되어있다.


와! 잘 된다!
이상으로 macOS에서 간단하게 동일한 어플리케이션을 여러개 다중실행하는 방법에 대해 살펴봤다.

반응형