#!/bin/bash # Start a systemtap server # # Copyright (C) 2008, 2009 Red Hat Inc. # # This file is part of systemtap, and is free software. You can # redistribute it and/or modify it under the terms of the GNU General # Public License (GPL); either version 2, or (at your option) any # later version. # This script attempts to start a systemtap server and echoes the # process id, if successful. # Where are we installed? exec_prefix=`dirname $0` exec_prefix=`cd $exec_prefix && pwd` prefix=`dirname $exec_prefix` # start the server $exec_prefix/stap-serverd "$@" /dev/null 2>&1 & server_pid=$! # Make sure the server is started for ((attempt=0; $attempt < 5; ++attempt)) do if test $EUID = 0; then if ! test -f $prefix/etc/systemtap/ssl/server/stap-server.cert; then sleep 1 continue; fi elif ! test -f $HOME/.systemtap/ssl/server/stap-server.cert; then sleep 1 continue fi (ps -a | grep $server_pid) >/dev/null 2>&1 && echo $server_pid && exit 0 sleep 1 done exit 1 # server did not start