私の投稿を読んでくれてありがとう。init.d スクリプトからプログラムを開始すると、プログラムの動作が異なるという問題があります。これは、2 つのプロパティ ファイルと共に /usr/local/bin ディレクトリに格納している C++ プログラムです。プログラムを正しく実行するには、プロパティ ファイルの 1 つが必要です。次のようなコマンドラインからプログラムが呼び出されると、すべてが正常に機能します。
myprogram または ./myprogram
しかし、init.d スクリプトを使用してプログラムを起動すると、バイナリは必要なプロパティ ファイルを開きません。init.d スクリプト (chmod 755) のアクセス許可を確認し、rc.d (sudo update-rc.d myprogram defaults) を更新したことを確認しましたが、これを理解できませんでした。init スクリプトの LSB ヘッダーは次のようになります。
#!/bin/bash
### BEGIN INIT INFO
# Provides: myprogram (where myprogram is the name of the init script)
# Required-Start: $local_fs $network $remote_fs $syslog
# Required-Stop: $local_fs $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: myprogram short description
# Description: Enable service provided by daemon
### END INIT INFO
どんな助けでも本当に感謝しています。ありがとう。