問題タブ [jsvc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - jsvcにipv4をリッスンさせる
メールアーカイブを設定していますが、jsvcが必要です。これを設定しましたが、次のコマンドを実行すると、ipv4をリッスンしていないことがわかります。どうすればこれを変更できますか?
java - デーモン(jsvc)を使用してクラスパスにリソースファイルを追加します
私はしばらくこれに苦労しています。スタンドアロン環境でSpring3.1を使用しています。クラスパス(applicationXML)に追加する必要のあるリソースファイルがあります。日食では、それは既知の簡単な方法です。現在、デーモン(commons-daemon-1.0.3.jar)を使用して、Linux上のスタンドアロン環境にアプリケーションをデプロイしようとしています。
そこにリソースファイルをクラスパスに追加するにはどうすればよいですか?
apache - Apachejsvcがデーモンの停止に失敗する
ネイティブにコンパイルされたjsvcを使用してJavaデーモンを起動しています。私はこれをopenSUSE32ビットVMで実行しています。このコードはApacheのデーモンインターフェイスを実装しており、次のコマンドでデーモンを実行しています。
起動して問題なく動作します。通常のユーザーおよびrootとしてデーモンを起動できます。ただし、デーモンを終了しようとすると、jsvcは停止コマンドを発行するのではなく、プロセスを強制終了します。
デーモンプロセスは終了しますが、シャットダウン手順は実行されません(たとえば、ログに記録したり、データベースにレコードをマークしたりする必要があります)。logs / jsvc.errファイルに次の情報が含まれていますが、他のログは書き込まれません。
エラーをグーグルで調べた後、同じことを見た人が数人いますが、適切な解決策を見つけることができません(http://mail-archives.apache.org/mod_mbox/commons-dev/200401)。 mbox /%3CPine.GSO.3.96.1040105133739.23375A-100000 @ merlot.tel.uva.es%3E、http://www.tek-tips.com/viewthread.cfm?qid = 1014679 、http ://threebit。 net / mail-archive / tomcat-users / msg03832.html)。
更新: Apacheのウィンドウのサービスランチャー(procrun)を使用すると、問題なくサービスを開始および停止できます。この問題は、jsvcにのみ関連しており、デーモンの停止にのみ関係しているようです。
更新2:http ://commons.apache.org/daemon/jsvc.html#Starting_jsvcを注意深く 読んだ後、使用している停止タグが、指定したpidファイルを介してプロセスにkillコマンドを発行していることに気付きました。jsvcは、設計上、デーモンを実際には正常に停止しないようです。これは、非常に冗長なstopメソッドがメッセージを書き出さないため、私が見ている動作と一致しています。
新しい質問:
- JavaメインがApacheデーモンインターフェイスを実装している場合、実行中のデーモンで「停止」を発行するにはどうすればよいですか?
- jsvc以外のものが必要ですか(デーモンの起動または強制終了にのみ役立つようです)?
tomcat - jsvcでTomcatを起動する方法は?
jsvcでTomcatを起動しようとしていますが、この奇妙なエラーが発生します
を使用して
java - Java ホームが見つかりません
jsvc
Java サービスをデーモンとして起動するために活用するアプリケーションを作成しています。jsvc
アプリケーションが 1024 未満のポートを使用しているにもかかわらず、作成されたファイルが別のユーザーによって所有されるように、root として実行したくないため、次のようなものを使用する必要があります。jsvc
また、クライアントが必要とするのは JVM とインストールされたバイナリのみになるように、依存関係と構成を最小限に抑えたいと考えています。
ただし、jsvc
1 つの大きな問題があるようです。特定の Unix オペレーティング システムで Java のホーム フォルダーを検出できないため、非常にイライラします。
少なくとも手動で JVM ホーム ディレクトリを設定することで、Ubuntu の問題を回避できました。
ほとんどの Unix/Linux で動作するように、Bash スクリプトから Java ホーム ディレクトリを動的に決定する方法はありますか? 次のようなことをすると、夜はぐっすり眠ることができます。
...個々のオペレーティング システムごとにハードコーディングするのではなく、バイナリを指定して、java
その JVM/JRE のホーム ディレクトリを見つける方法はありますか?
maven-plugin - JSVCを使用して、MavenOne-Jarプラグインにパッケージ化されたJavaアプリをデーモン化します。
ここに問題があります:
MavenプラグインOne-Jarを使用して、Javaアプリケーションを単一のjarにパッケージ化しました。
ここで、JSVCを使用してアプリケーションをUnixデーモン、つまりApacheCommonsDaemonとして実行したいと思います。
私はJSVCを次のように使用しています(これは、Mavenアセンブリプラグインなどで作成されたJarで機能します)。
エラーは次のとおりです。
One-Jarはカスタムクラスローダーを使用しているので、JSVCとOne-Jarを一緒に使用することさえ可能かどうか誰かが知っていますか?java -jar my-one-jar.jarを実行すると、jarは正常に実行されます。
何ができる?
洞察をありがとう!
java - jsvcでtomcat6を実行しています
開始時にユーザー権限を取得するために、jsvc で tomcat6 を実行しようとしています。
Tomcat ドキュメントのコードを使用して実行しようとしています: http://tomcat.apache.org/tomcat-6.0-doc/setup.html
そして、これらは私が得るエラーです:
ガイドで指定されているように、ソースから tomcat と jsvc をインストールしなかったことに言及することも重要です。代わりに、シナプスを使用してパッケージからインストールしました。
アップデート:
私は今スクリプトとして実行しています。コードは次のとおりです。
今、私は別のエラーが発生しています:
また、シナプスから行った jsvc インストールを削除し、ソースから jsvc のバージョン 1.0.10 をインストールしようとしました。役に立ちませんでした。
java - デーモンとして起動する JSVC - JMX を有効にしますか?
私はJSVCを使用して、Javaプログラムを24時間年中無休で実行するデーモンとして起動しています。
ただし、デーモンに変換することを決定するまで、JMX がアプリケーションを監視できるようにしていました。
私のinit.dスクリプトはこのようなものです
ポート1234(または指定した他のポート)がJMXで使用されていないため、-Dオプションは有効にならないようです。
アプリケーションは正常に動作しますが、JMX は動作しません。どこから検索すればよいかわかりません。アイデアはありますか?
java - jsvc を使用した Java プログラムのデーモン化
JSVC を使用して Java プログラムをデーモンとして実行しようとしています。これは私が使用した簡単なコードです:
}
コマンド: jsvc -debug -home $JAVA_HOME -cp /path/to/commons-daemon.jar:/path/to/DaemonExample.jar -user coder -outfile /tmp/example.out -errfile /tmp/example. err -pidfile /tmp/example.pid デーモンexample.DaemonExample
これを実行すると、「stdout を /tmp/example.out に、stderr を /tmp/example.err にリダイレクトしています」というメッセージが表示されます。しかし、ターゲットファイルは空です。ここで何が欠けていますか?
java - Tomcat 6 の Web アプリケーションは、起動後に環境変数を見つけることができません
次の問題があります。
Tomcat 6.0.32 と Java JDK 6.0_26 を使用しています。正常にインストールされ、Tomcat の開始ページがポート 8080 のブラウザーに表示されます。
また、$CATALINA_HOME/setenv.sh スクリプトを作成し、いくつかの webapp 固有の環境変数を (CATALINA_HOME、JAVA_HOME、および CLASSPATH と共に) その中に入れました。
新しいユーザー「tomcat」を作成し、彼の新しいホームディレクトリを設定し、passwd-ed しました。
このスクリプトは、再起動時に Tomcat を自動的に起動および停止するために作成した init スクリプト内から供給されています。$CATALINA_HOME にある標準的な startup.sh と shutdown.sh は使用せず、jsvc デーモン スターターを使用するので、非ルート プロセス (Tomcat 自体) からポート 8080 を使用できます。
実際の問題は、Tomcat を再起動した後、webapp が setenv.sh で設定した環境変数を受信または表示しないため、起動しないことです。
環境変数の定義をさまざまな場所に配置しようとしました。
- tomcat ホーム ディレクトリの .bashrc
- /etc/init.d/tomcat スクリプト
- $CATALINA_HOME/bin/setenv.sh
- $CATALINA_HOME/webapps/myapp/META-INF/context.xml
Tomcat の起動後、Web アプリケーションに必要な環境変数が表示されません。
私の質問は - 私は一体何をしているのですか?何か提案はありますか?setenv.sh が機能しない場合、環境変数を webapp に転送するにはどうすればよいですか? このメカニズムに問題があるのはなぜですか (これは、環境変数を webapps に渡す方法だとされています)
これが私が書いた起動スクリプトです:
私が使用しているシステムは SUSE SP2 です。
どんな助けでも大歓迎です!前もって感謝します :)