daemon /etc/init.d/ errore quando viene eseguito come daemon, ma lo script funziona bene dalla row di command

Errori quando vengono eseguiti da /etc/init.d

sudo /etc/init.d/openconnect start * Starting open connect xxx.somedomain.com openconnect start-stop-daemon: unable to start /usr/local/bin/op_connect.sh (Exec format error) ...fail! 

Esecuzione dello script direttamente funziona bene

Lo script è una copia dell'esempio "skeleton" in /etc/init.d (solo la sezione sottostante)

 #!/bin/sh ### BEGIN INIT INFO # Provides: skeleton # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Example initscript # Description: This file should be used to construct scripts to be # placed in /etc/init.d. ### END INIT INFO # Author: Foo Bar <foobar@baz.org> # # Please remove the "Author" lines above and replace them # with your own name if you copy and modify this script. # Do NOT "set -e" # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin DESC="open connect XXXXXXX" NAME=op_connect.sh DAEMON=/usr/local/bin/$NAME DAEMON_ARGS="--options args" PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # Exit if 

Scritto qui sotto

 #!/bin/sh echo '<passwd>' | sudo openconnect --user=aname@somedomain.com --passwd-on-stdin https://xxxx.somedomain.com 

  • Chrome utilizza un diverso server DNS dal sistema operativo?
  • Montaggio di hard disk OSX su Linux
  • Cercando la spiegazione sysconf_addword
  • Condivisione di accesso Wi-Fi tramite Bluetooth
  • Come differire solo la prima row di due file?
  • Cosa succede se dd incontra errori mentre l'output di dd viene trasmesso a gzip?
  • Come posso passare la password di origine a uno script
  • linux ping non effettivamente invia 1 pacchetto al secondo
  • One Solution collect form web for “daemon /etc/init.d/ errore quando viene eseguito come daemon, ma lo script funziona bene dalla row di command”

    La shebang ( #! ) shebang all'inizio dei file è in realtà la versione leggibile di un numero magico che consente alla function exec di stabilire la natura del file, vale a dire se il file è un binario eseguibile o un semplice script.

    Di conseguenza, l'errore di Exec format error messaggio di Exec format error significa che la function exec non è in grado di stabilire se il tuo script, op_connect.sh , è uno script o un binario. Ciò si verifica generalmente perché il messaggio di errore è in qualche modo errato, inclusa la presenza di caratteri non printingbili. La cosa più facile è che tu sia ri-digitare lo script e assicurarsi che sia eseguibile , che, se non fosse così, spiegherebbe la perplessità della function exec .

    Siamo il genio del computer e della rete.