追加読書

追加読書

init.d次のスクリプト()があります/etc/init.d/ctrlme

#!/lib/init/init-d-script

### BEGIN INIT INFO
# Provides:          ctrlme
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: ctrlme
# Description:       ctrlme
### END INIT INFO

# sudo cp -v /home/gigikent/bin/init.d-services/ctrlme /etc/init.d/; sudo chown root: /etc/init.d/ctrlme
#
# https://www.pks.mpg.de/~mueller/docs/suse10.1/suselinux-manual_en/manual/sec.boot.init.html   
#

NAME=ctrlme
PIDFILE=/run/ctrlme.pid
DAEMON=/bin/bash -c '/home/gigikent/x.sh ctrlme'
DESC=ctrlme

# . /lib/lsb/init-functions
# 
# case "$1" in
#   start)
#         /home/gigikent/x.sh ctrlme
#     ;;
#   stop|restart|force-reload) 
#         exit 0
#     ;;
#   *) echo "Usage: $0 {start|stop|restart|force-reload}" >&2; exit 1 ;;
# esac

起動に失敗しました:

Jun 16 18:57:13 gigikent.go.ro ctrlme[28454]: /lib/init/init-d-script: 20: /etc/init.d/ctrlme: -c: not found
Jun 16 18:57:13 gigikent.go.ro systemd[1]: ctrlme.service: Succeeded.
-- Subject: Unit succeeded
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- The unit ctrlme.service has successfully entered the 'dead' state.

/bin/bash -c '/home/gigikent/x.sh ctrlme'コマンドを実行すると、期待どおりに動作します。
なぜこれが起こり、どのように解決するのですか?

システム情報:
Ubuntu 19.04

ベストアンサー1

DAEMON=/bin/bash -c '/home/adr/x.sh ctrlme'

これはおそらく次のとおりです。

デーモン="/bin/bash"
DAEMON_ARGS="'/home/adr/x.sh ctrlme'"

または、より良い方法は次のとおりです。

デーモン="/home/adr/x.sh"
DAEMON_ARGS="ctrlme"

追加読書

おすすめ記事