📄 runjump
字号:
SERVER_PID_LOGFILE=/tmp/jump_serverpid_$WHOAMICVMC_LOGFILE=/tmp/jump_cvmc_$WHOAMI################################################################################cd $PHONEME_DISTif [ "$DO_SETTINGS" = "true" ] ; then rm -f $SETTINGS_LOGFILE touch $SETTINGS_LOGFILE####### Write out user JUMP settings to shell & output file ############# echo "************** JUMP Settings *******************" >> $SETTINGS_LOGFILE echo "PHONEME_DIR: $PHONEME_DIR" >> $SETTINGS_LOGFILE echo "PHONEME_DIST: $PHONEME_DIST" >> $SETTINGS_LOGFILE echo "PHONEME_PLATFORM: $PHONEME_PLATFORM" >> $SETTINGS_LOGFILEif [ -z "$CDC_SUBDIR" ] ; then echo "CDC_SUBDIR: <none>" >> $SETTINGS_LOGFILEelse echo "CDC_SUBDIR: $CDC_SUBDIR" >> $SETTINGS_LOGFILEfi echo "CDC_DEBUG_PORT: $CDC_DEBUG_PORT" >> $SETTINGS_LOGFILE echo "JUMP_CONTENT_STORE_DIR $JUMP_CONTENT_STORE_DIR" >> $SETTINGS_LOGFILE echo "USE_QVFB: $USE_QVFB" >> $SETTINGS_LOGFILE if [ "$USE_QVFB" = "true" ] ; then echo "QTOPIA_HOME: $QTOPIA_HOME" >> $SETTINGS_LOGFILE echo "QWS_DISPLAY: $QWS_DISPLAY" >> $SETTINGS_LOGFILE echo "QVFB_WIDTH: $QVFB_WIDTH" >> $SETTINGS_LOGFILE echo "QVFB_HEIGHT: $QVFB_HEIGHT" >> $SETTINGS_LOGFILE fi echo "USE_GCI: $USE_GCI" >> $SETTINGS_LOGFILE echo "LD_LIBRARY_PATH $LD_LIBRARY_PATH" >> $SETTINGS_LOGFILE echo "PBP_SCREEN_BOUNDS $PBP_SCREEN_BOUNDS" >> $SETTINGS_LOGFILE echo "***********************************************" >> $SETTINGS_LOGFILE cat $SETTINGS_LOGFILEfi### Remove any current instances of the server.if [ "$DO_CLEANUP" = "true" ] ; then rm -f $CLEANUP_LOGFILE touch $CLEANUP_LOGFILE ### Now, kill the clones and then the server if [ -f $SERVER_PID_LOGFILE ] ; then SERVER_PID=`cat $SERVER_PID_LOGFILE` fi if [ "$SERVER_PID" != "" ] ; then CLEANUP_APPLICATIONS_COMMAND="$CVMC -killall" $CLEANUP_APPLICATIONS_COMMAND >> $CLEANUP_LOGFILE 2>&1 sleep 1 CLEANUP_SERVER_COMMAND="$CVMC -killserver" $CLEANUP_SERVER_COMMAND >> $CLEANUP_LOGFILE 2>&1 fi # Use the brute force method of killing apps. process_ids=`ps auxww | grep $WHOAMI | grep cvm | grep -v grep | sed 's/ */ /1' | cut -d ' ' -f 2` if [ ! "$process_ids" = "" ] ; then echo "Cleaning up running processes..." for id in $process_ids; do \ CLEANUP_PROCESSES_COMMAND="kill -9 $id" $CLEANUP_PROCESSES_COMMAND >> $CLEANUP_LOGFILE 2>&1 done; fi # Remove message queuesmesgqs=`ipcs -q | awk '{ print $2 }'| grep -v Message | grep -v msqid`for id in $mesgqs; do \ CLEANUP_MESSAGE_QUEUES_COMMAND="ipcrm -q $id" $CLEANUP_MESSAGE_QUEUES_COMMAND >> $CLEANUP_LOGFILE 2>&1done; # Kill qvfb if it's runningif [ "$USE_QVFB" = "true" ] ; then process_ids=`ps auxww | grep $WHOAMI | grep qvfb | grep -v grep | sed 's/ */ /1' | cut -d ' ' -f 2` if [ ! "$process_ids" = "" ] ; then echo "qvfb instance found... removing." for id in $process_ids; do \ CLEANUP_PROCESSES_COMMAND="kill -9 $id" $CLEANUP_PROCESSES_COMMAND >> $CLEANUP_LOGFILE 2>&1 done; fifi ### Remove output files rm -f $SERVER_LOGFILE $WARMUP_LOGFILE $APP_LOGFILE $SETTINGS_LOGFILE $SERVER_PID_LOGFILE $CVMC_LOGFILE sleep 2 echo "Done with cleanup." fi ##### Commands to start the JUMP serverif [ "$DO_SERVER" = "true" ] ; then ### Create output file touch $SERVER_LOGFILE if [ "$USE_QVFB" = "true" ]; then QVFB_COMMAND="$QTOPIA_HOME/bin/qvfb -width $QVFB_WIDTH -height $QVFB_HEIGHT -depth 16 -qwsdisplay $QWS_DISPLAY" echo $QVFB_COMMAND $QVFB_COMMAND >> $SERVER_LOGFILE 2>&1 & sleep 1 fi PHONEME_SERVER_OPTIONS="-Xbootclasspath/a=$SERVER_JARFILE $MIDP_PROPERTIES -Xserver" if [ "$USE_JIT" = "true" ]; then PHONEME_SERVER_OPTIONS="$PHONEME_SERVER_OPTIONS -Xjit:codeCacheSize=1300K" fi PHONEME_SERVER_COMMAND="$PHONEME_DIST/bin/cvm $PHONEME_SERVER_OPTIONS" echo "Server Command: $PHONEME_SERVER_COMMAND" $PHONEME_SERVER_COMMAND >> $SERVER_LOGFILE 2>&1 & ### We need to wait until the server is done being launched. Wait here until ### the server ouput file SERVER_LOGFILE prints out the message about server status. numAttempts=0 numAttemptsMax=100 while [ "$numAttempts" -ne "$numAttemptsMax" ] ; do if [ ! -f $SERVER_LOGFILE ] ; then numAttempts=`expr $numAttempts + 1` echo -n "." sleep 1 else output=`cat $SERVER_LOGFILE | grep "Starting mTASK server at pid=" | grep "done"` if [ ! "$output" = "" ] ; then numAttempts=100 echo "" else numAttempts=`expr $numAttempts + 1` echo -n "." sleep 1 fi fi done echo "" PHONEME_SERVER_PID=`echo $output | awk '{ print $5 }' | sed 's/pid=//'` if [ "$PHONEME_SERVER_PID" != "" ] ; then rm -f $SERVER_PID_LOGFILE echo $PHONEME_SERVER_PID > $SERVER_PID_LOGFILE echo "JUMP Server running with pid: $PHONEME_SERVER_PID" else echo "JUMP Server could not be launched successfully." exit 0 fifi ### Warmup Command ###if [ "$DO_WARMUP" = "true" ] ; then if [ -f $SERVER_PID_LOGFILE ] ; then SERVER_PID=`cat $SERVER_PID_LOGFILE` fi if [ "$SERVER_PID" = "" ] ; then echo "" echo "A JUMP Server is not running, cannot run command." exit 0 fi WARMUP_COMMAND="$CVMC -target $SERVER_PID -warmup -initClasses $JUMP_CLASSES_WARMUP_LIST -precompileMethods $JUMP_METHODS_WARMUP_LIST" echo "Executing warmup command: $WARMUP_COMMAND" echo "" rm -f $WARMUP_LOGFILE touch $WARMUP_LOGFILE $WARMUP_COMMAND >> $WARMUP_LOGFILE 2>&1 & fi ### DO_WARMUP ##### Start the JUMP Executiveif [ "$DO_EXECUTIVE" = "true" ] ; then if [ -f $SERVER_PID_LOGFILE ] ; then SERVER_PID=`cat $SERVER_PID_LOGFILE` fi if [ "$SERVER_PID" = "" ] ; then echo "" echo "A JUMP Server is not running, cannot run command." exit 0 fi EXECUTIVE_COMMAND="$CVMC -target $SERVER_PID -command JDETACH $EXECUTIVE_PROPERTIES -Xbootclasspath/a=$EXECUTIVE_JARFILE com.sun.jumpimpl.executive.JUMPExecutiveImpl $EXECUTIVE_ARGUMENTS" $EXECUTIVE_COMMAND >> $SERVER_LOGFILE 2>&1 & EXECUTIVE_COMMAND="$CVMC -target $SERVER_PID -setenv PBP_SCREEN_BOUNDS=$PBP_SCREEN_BOUNDS" $EXECUTIVE_COMMAND >> $SERVER_LOGFILE 2>&1 & if [ "USE_QVFB" = "true" ] ; then EXECUTIVE_COMMAND="$CVMC -target $SERVER_PID -setenv QWS_CLIENT=true" $EXECUTIVE_COMMAND >> $SERVER_LOGFILE 2>&1 & #$EXECUTIVE_COMMAND 2>&1 & fifi### Server Commandif [ "$DO_COMMAND" = "true" ] ; then if [ -f $SERVER_PID_LOGFILE ] ; then SERVER_PID=`cat $SERVER_PID_LOGFILE` fi if [ "$SERVER_PID" = "" ] ; then echo "" echo "A JUMP Server is not running, cannot run command." exit 0 fi shift APP_COMMAND="$CVMC -target $SERVER_PID $*" echo "Executing App command: $APP_COMMAND" echo "" rm -f $APP_LOGFILE $APP_COMMAND > $APP_LOGFILE 2>&1 &fi ### DO_COMMAND ### Debug Commandif [ "$DO_DEBUG" = "true" ] ; then SERVER_PID=`cat $SERVER_PID_LOGFILE` if [ $SERVER_PID = "" ] ; then echo "" echo "A JUMP Server is not running, cannot run command." exit 0 fi shift DEBUG_COMMAND="$CVMC -target $SERVER_PID $DEBUG_OPTIONS $*" echo "Executing Debug command: $DEBUG_COMMAND" echo "" rm -f $APP_LOGFILE $DEBUG_COMMAND > $APP_LOGFILE 2>&1 &fi ### DO_DEBUG### Status Commandif [ "$DO_STATUS" = "true" ] ; then SERVER_PID=`cat $SERVER_PID_LOGFILE` if [ $SERVER_PID != "" ] ; then echo "" echo "A JUMP Server is running with pid: $SERVER_PID." else echo "" echo "A JUMP Server is not running." fifi### Output Commandif [ "$DO_OUTPUT" = "true" ] ; then if [ -f $SERVER_LOGFILE ] ; then cat $SERVER_LOGFILE fifi### Run CVMC Commandif [ "$DO_CVMC" = "true" ] ; then SERVER_PID=`cat $SERVER_PID_LOGFILE` if [ $SERVER_PID != "" ] ; then echo "" shift CVMC_COMMAND="$CVMC -target $SERVER_PID $*" echo "CVMC command: $CVMC_COMMAND" echo "" rm -f $CVMC_LOGFILE touch $CVMC_LOGFILE #$CVMC_COMMAND >> $CVMC_LOGFILE 2>&1 $CVMC_COMMAND 2>&1 else echo "" echo "A JUMP Server is not running." fifi### Get PID of serverif [ "$DO_GETPID" = "true" ] ; then SERVER_PID=`cat $SERVER_PID_LOGFILE` if [ $SERVER_PID != "" ] ; then echo "" echo "PID of running JUMP Server: $SERVER_PID." else echo "" echo "A JUMP Server is not running." fifi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -