The Crowd standalone distribution ships with Tomcat. There is a mismatch between how launchd expects a daemon to behave, and how the default startup scripts for Tomcat operate:
- OS X's launchd expects the process it starts to run forever, but '
catalina.sh start
' starts the JVM to run Tomcat and then exits. - Tomcat provides '
catalina.sh stop
' to shut down Tomcat cleanly by connecting to a socket which Tomcat listens on, but launchd stops daemons by sending them a signal that kills the process immediately if no specific handling is included.
You will need a wrapper shell script and properties list to make launchd work with Tomcat.
단계 1. Wrapper Shell Script 추가
Add the following wrapper shell script to $CATALINA_HOME/bin
:
The above shell script starts Tomcat and then waits for the process to complete, so launchd is happy that Tomcat is still running. The script also installs a signal handler, which calls the shutdown()
function to cleanly shut down Tomcat when launchd signals the script.
You can try this script manually: Start the script, watch Crowd start, and then type ctrl-C and see Crowd shut down cleanly. (Note that it will not shut down cleanly if Tomcat has not started yet. It takes a few seconds for Tomcat to start listening on the shutdown socket.)
단계 2. launchd Property List 추가
The launchd property list (.plist
) tells launchd how to start Tomcat.
Add the following plist file to /Library/LaunchDaemons
, which is the location for system-wide services which are not part of base OS X:
Notes:
- Replace '
/Users/myname/conf/crowd-x.x.x
' with the path to your Crowd installation. The string occurs four times in the above script. - JAVA_HOME is set to use the default JDK. On OS X version 10.4.4, the default JDK is 1.4.2. You will need to change this value if you want to use a different version of Java. For example, if you want to use JDK 1.5, you will need to change JAVA_HOME to
/System/Library/Frameworks/JavaVM.framework/Versions/1.5
. - In the above script, we have specified '
root
' as theUserName
. If necessary, change the UserName to the user you want Tomcat to run as.
수동으로 Crowd 시작 그리고 중지
To start and stop Crowd manually, use the following commands:
- Start:
cd /Library/LaunchDaemons
sudo launchctl load -w crowd.plist
- Stop:
cd /Library/LaunchDaemons
sudo launchctl unload -w crowd.plist
트러블슈팅
- Make sure both files
launch_wrapper.sh
andcrowd.plist
have the necessary file privileges. - Check the console logging and log file for any abnormalities.
관련내용
'Apple - IPhone / IPod Touch' 카테고리의 다른 글
내 아이폰어 언락폰인지 채크하는 방법. iPhone unlock check (1) | 2013.12.11 |
---|---|
Mcrypt to OSX add mcrypt to mac os x server (0) | 2013.11.11 |
TableView의 Row를 클릭시 파란색 없애는 방법 (0) | 2010.05.25 |
iPhone 다국어 작업 기본 (0) | 2010.05.12 |
sleep, wake up 이벤트 처리 (1) | 2010.03.18 |
문자열 다루는 메소드 (1) | 2010.02.18 |
iPhone 키보드 닫기 done 버튼 추가 (1) | 2010.02.02 |
도큐멘트 폴더에 무엇이 들어 있나 확인해보자 (0) | 2010.01.20 |