#!/bin/sh # Copyright (c) 2011 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # # autotest control init script, intended for Debian/Ubuntu type boxes. # # copy this to /etc/init.d/autotest, then run this: # # update-rc.d autotest start 95 2 3 4 5 . stop 90 0 1 6 . BASE_DIR=/usr/local/autotest BECOME_USER=chromeos-test # Setup PATH so Autotest can run gsutil and cros_sdk for stack trace generation. PATH_EXTRAS=$PATH:/usr/local/google/gsutil:/usr/local/google/depot_tools if (test -r /lib/lsb/init-functions) then . /lib/lsb/init-functions else echo "This script requires /lib/lsb/init-functions" exit 1 fi # --- autotest_start() { cd /tmp log_daemon_msg "Starting monitor_db_babysitter" ( ulimit -v 2048000 ; PATH=$PATH_EXTRAS USER=$BECOME_USER USERNAME=$USER \ start-stop-daemon --start --quiet --chuid $BECOME_USER \ --background --exec $BASE_DIR/scheduler/monitor_db_babysitter ) } stop_daemon() { PID_NAME=$1 DAEMON_NAME=$2 log_daemon_msg "Stopping $DAEMON_NAME" start-stop-daemon --stop --quiet --pidfile $BASE_DIR/$PID_NAME.pid } autotest_stop() { stop_daemon monitor_db_babysitter babysitter stop_daemon monitor_db scheduler } case "$1" in start) autotest_start ;; stop) autotest_stop ;; restart) autotest_stop sleep 2 autotest_start ;; *) echo "Usage: $0 start|stop|restart" exit 1 esac