#!/bin/bash
### BEGIN INIT INFO
# Provides:          3ArtiEbysSigner
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts and stops the 3ArtiEbysSigner service
# Description:       This script manages the 3ArtiEbysSigner service.
### END INIT INFO

# Yükleme ve başlatma komutları
DAEMON=/usr/local/3ArtiEbysSigner/jre/bin/java
DAEMON_OPTS="-jar -Xmx512m /usr/local/3ArtiEbysSigner/updater.jar"
NAME=3ArtiEbysSigner
DESC="3ArtiEbysSigner Service"

# PID dosya yolu
PIDFILE=/var/run/$NAME.pid

# Log dosyası
LOGFILE=/var/log/$NAME.log

# Başlangıç fonksiyonu
do_start() {
    echo "Starting $DESC"
    # Servisi arka planda çalıştırma
    # start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS >> $LOGFILE 2>&1
    start-stop-daemon --start --make-pidfile --pidfile $PIDFILE --chdir /usr/local/3ArtiEbysSigner --exec $DAEMON -- $DAEMON_OPTS
}

# Durdurma fonksiyonu
do_stop() {
    echo "Stopping $DESC"
    # PID dosyasını temizlemeden önce işlemi durdur
    start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
    # PID dosyasını temizle
    rm -f $PIDFILE

    # Java işlemini sonlandır
    JAVA_PROCESS_ID=$(pgrep -f "job.jar")
    if [ -n "$JAVA_PROCESS_ID" ]; then
        echo "Stopping Java process: $JAVA_PROCESS_ID"
        kill -9 $JAVA_PROCESS_ID
    fi
}

# Durum kontrolü fonksiyonu
do_status() {
    status_of_proc -p $PIDFILE $DAEMON "$NAME"
}

# Eğer script bir argüman alırsa uygun fonksiyonu çağır
case "$1" in
    start)
        do_start
        ;;
    stop)
        do_stop
        ;;
    restart)
        do_stop
        do_start
        ;;
    status)
        do_status
        ;;
    *)
        echo "Usage: $NAME {start|stop|restart|status}"
        exit 1
        ;;
esac

exit 0


