このエラーは理解できません:start-stop-daemon:オプションに--exec
引数が必要です。
私はこの世界が初めてinit.d
で、サービスコールを使用してスクリプトを実行しました。このスクリプトはうまくいきたいです。起動時に起動しますが、このエラーは失敗します。助けが必要ですか? (私の質問に関係なく、提案や書き換えを歓迎します。)
これは私のスクリプトです。
#!/bin/bash
# shell script to ...
#set the full path to the programs we need to use
NTOP=/opt/bash_scripts/start-up-superscript &
KILLALL=/usr/bin/killall
case "$1" in
start)
echo "Starting SDD Install..."
start-stop-daemon --start --quiet --oknodo --exec $NTOP
;;
stop)
#kill ntop
echo "Stopping SSD..."
$KILLALL ntop
;;
restart)
$0 stop
$0 start
;;
status)
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
;;
esac
答え1
ここでは、プロセスの終了と共有編集の変更の説明を引用しました。開始するには削除する必要があります&サービス名を定義することから始めます。
停止するプロセスを識別するには、起動時にインタプリタが追加されるため、PIDを使用するのが便利です。したがって、スクリプトを次のように変更できます。
#!/bin/bash
# shell script to ...
set -e
#set the full path to the programs we need to use
NTOP=/opt/bash_scripts/start-up-superscript
PIDFILE=/var/run/start-up-superscript.pid
case "$1" in
start)
echo "Starting SDD Install..."
start-stop-daemon --start --quiet --oknodo --exec $NTOP --pidfile $PIDFILE -m
;;
stop)
#kill ntop
echo "Stopping SSD..."
start-stop-daemon --stop --quiet --pidfile $PIDFILE
;;
restart)
$0 stop
$0 start
;;
status)
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
;;
esac
これにより、プロセス全体が要件に従って開始および停止されます。