답변:
다음과 같이 plist를 저장하십시오. ~/Library/LaunchAgents/test.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>test</string>
<key>ProgramArguments</key>
<array>
<string>bash</string>
<string>-c</string>
<string>while sleep 5; do
if pgrep -x Preview; then
pgrep -x TextEdit || open -jga TextEdit
else
pgrep -x TextEdit && osascript -e 'quit app "TextEdit"'
fi
done</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
그런 다음 plist를로드합니다. launchctl load ~/Library/LaunchAgents/test.plist
로그 아웃 한 후 다시 로그인하십시오.
open -jg
숨겨진 응용 프로그램을 열고 창을 올리지 않아야합니다. TextEdit과 같은 일부 문서 기반 응용 프로그램의 경우 응용 프로그램이 열려 있지만 표시되는 창이없는 경우 새 가시 창을 엽니 다.
pgrep
그리고 -j
옵션 open
10.8에서 더했다. 그만큼 -j
옵션은 도움말 메시지에만 표시되며 설명서 페이지에는 표시되지 않습니다.