0

Maven アプリアセンブラー プラグインを使用して、Java Spring アプリケーション「myapp」の周りに Linux ラッパー スクリプトを生成しました。

次に、次のディレクトリ構造を取得します。

/home/myapp/platform/bin/myapp       <== Script that I start manually

myapp スクリプトには「-rwxr-xr-x」権限があり、所有者は「myapp:myapp」に設定され、スクリプトはユーザー「myapp」として実行するように設定されています (ビルド時に Maven 設定から設定されます)。

ルートから次のコマンドを発行しました。

$ sudo ln -s /home/myapp/platform/bin/myapp /etc/init.d/service_myapp

これは、「lrwxrwxrwx」権限と「root:root」を所有者として持つシンボリック リンクを作成し、myapp スクリプトをポイントします。起動時にこのスクリプトを実行するだけで十分だと思いました。ただし、実行されていないようです。次のように手動で実行すると:

$ cd /etc/init.d/
$ ./service_myapp

次に、実行する前にパスワードの入力を求められます。

ここで何が起こっているのか、および/または私が間違っていることを誰かが説明できますか?

私もこれを試しました:

$ cd /etc/init.d/
$ update-rc.d service_myapp defaults 20

しかし、これを取得します:

update-rc.d: warning: /etc/init.d/service_myapp missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/service_myapp ...
   /etc/rc0.d/K20service_myapp -> ../init.d/service_myapp
update-rc.d: symlink: Permission denied
4

1 に答える 1

0

おそらく、スクリプト内の一部のコマンドで root が必要なため、パスワードの入力を求められます。

また、実行時には root である必要がありますupdate-rc.d

sudo update-rc.d service_myapp defaults 20

最後に、スクリプトは SysV 形式で、、、、、およびコマンドをサポートする必要がstartあります。stoprestartforce-reloadstatus

于 2015-03-17T16:02:06.327 に答える