spring boot init.d script start-stop - daemon: option non reconnue --no-close

après symlink mon application pour le /etc/init.d / myappname .

/etc/init.d/myappname démarrer", 151910920"

/var/log/appname.journal dit

"start-stop-daemon: unrecognized option '--no-close'"

quand j'enlève le --no-close , le bocal est corrompu et ne peut plus fonctionner. je suis frappé.

bdw mon bocal est complètement exectable. c'est-à-dire, quand je lance le bocal seul, il démarre le springboot normalement.

qu'est-ce qui ne va pas ici?

EDIT:

do_start() {
  working_dir=$(dirname "$jarfile")
  pushd "$working_dir" > /dev/null
  if [[ -n "$run_user" ]]; then
    mkdir "$PID_FOLDER" &> /dev/null
    checkPermissions || return $?
    chown "$run_user" "$PID_FOLDER"
    chown "$run_user" "$pid_file"
    chown "$run_user" "$log_file"
    if [ $USE_START_STOP_DAEMON = true ] && type start-stop-daemon > /dev/null 2>&1; then
      arguments=(-Dsun.misc.URLClassPath.disableJarChecking=true $JAVA_OPTS -jar $jarfile $RUN_ARGS "$@")
      start-stop-daemon --start --quiet 
        --chuid "$run_user" 
        --name "$identity" 
        --make-pidfile --pidfile "$pid_file" 
        --background --no-close 
        --startas "$javaexe" 
        --chdir "$working_dir" 
        -- "${arguments[@]}" 
        >> "$log_file" 2>&1
      await_file "$pid_file"
    else
      su -s /bin/sh -c "$command >> "$log_file" 2>&1 & echo $!" "$run_user" > "$pid_file"
    fi
    pid=$(cat "$pid_file")
  else
    checkPermissions || return $?
    $command >> "$log_file" 2>&1 &
    pid=$!
    disown $pid
    echo "$pid" > "$pid_file"
  fi
  [[ -z $pid ]] && { echoRed "Failed to start"; return 1; }
  echoGreen "Started [$pid]"
}
3
demandé sur Sasi Kathimanda 2016-03-07 15:20:13

3 réponses

  1. Copiez votre application sur /var/appname/appname.jar

  2. assurez-vous qu'il est exécutable:

    sudo chmod +x "/var/appname/appname.jar"
    
  3. créer un fichier de configuration /var/appname/appname.conf avec le contenu suivant

    USE_START_STOP_DAEMON=false
    
  4. suivre les instructions de Guide de référence des bottes à ressort

    pour installer un ressort Démarrage de l'application comme un init.D service simplement créer un lien symbolique:

    $ sudo ln -s /var/appname/appname.jar /etc/init.d/appname
    

    une Fois installé, vous pouvez démarrer et arrêter le service de la manière habituelle. Par exemple, sur un système basé sur Debian:

    $ service appname start
    
1
répondu naXa 2018-01-29 16:00:44

Je résous enfin ce problème.

--no-close est un paramètre qui a été "récemment" ajouté à start-stop-daemon

http://manpages.ubuntu.com/manpages/wily/man8/start-stop-daemon.8.html

j'ai lancé mon application.jar sur Ubuntu 12.04 LTS qui a start-stop-démon 1.16.1.2 Pour Debian

vous pourriez savoir quelle version vous utilisez:

start-stop-daemon --version

sur la console linux.

j'ai téléchargé une nouvelle version de start-stop-daemon sur

https://pkgs.org/ubuntu-14.04/ubuntu-main-amd64/dpkg_1.17.5ubuntu5_amd64.deb.html

installez le paquet deb et le bocal de démarrage à ressort sera finalement lancé.

0
répondu Andres 2016-05-10 01:42:04

Run" service myappname start" comme mentionné dans le document http://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html

il y a une différence entre /etc/init.d/myappname de début et de serveur myappname démarrer

0
répondu sramu 2016-10-02 13:03:45