mirror of
				https://github.com/mpolden/echoip.git
				synced 2025-10-31 08:58:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| NAME="ifconfig"
 | |
| IFC_PATH=$(dirname $(readlink -f $0))
 | |
| LOCK_FILE="$IFC_PATH/$NAME.lock"
 | |
| PID_FILE="$IFC_PATH/$NAME.pid"
 | |
| BIN="$IFC_PATH/$NAME"
 | |
| 
 | |
| E_USAGE=1
 | |
| E_NOTFOUND=2
 | |
| E_NOPID=3
 | |
| E_LOCKED=4
 | |
| 
 | |
| if [[ ! -x "$BIN" ]]; then
 | |
|     echo "$BIN does not exist or is not executable"
 | |
|     exit $E_NOTFOUND
 | |
| fi
 | |
| 
 | |
| case "$1" in
 | |
|     start)
 | |
|         if [[ -f "$LOCK_FILE" ]]; then
 | |
|             echo "Lock file $LOCK_FILE exists. Already running?"
 | |
|             exit $E_LOCKED
 | |
|         fi
 | |
|         echo "Starting $NAME"
 | |
|         daemonize -c $IFC_PATH -o ${NAME}.log -p $PID_FILE -l $LOCK_FILE $BIN
 | |
|         ;;
 | |
|     stop)
 | |
|         if [[ ! -s "$PID_FILE" ]]; then
 | |
|             echo "PID file $PID_FILE empty or not found. Not started?"
 | |
|             exit $E_NOPID
 | |
|         fi
 | |
|         PID=$(head -n1 $PID_FILE)
 | |
|         echo "Stopping $NAME: $PID"
 | |
|         kill $PID && rm -- $PID_FILE $LOCK_FILE
 | |
|         ;;
 | |
|     status)
 | |
|         if [[ ! -s "$PID_FILE" ]]; then
 | |
|             echo "$NAME is not running"
 | |
|         else
 | |
|             echo "$NAME is running: $(head -n1 $PID_FILE)"
 | |
|         fi
 | |
|         ;;
 | |
|     *)
 | |
|         echo "usage: $0 {start|stop|status}"
 | |
|         exit $E_USAGE
 | |
|         ;;
 | |
| esac
 |