• 締切済み

lsofで見えるpipeのjavaコマンド調査方法について

いつも参考にしています。 使っているサーバで、ファイルディスクリプタ許容値がMaxを超えてしまい アプリが停止してしまう現象が発生しています。 lsofコマンドで見るとコマンドがjavaでNAMEがpipeとなっている行(PIDも同じ)が 何100行も表示されます。 具体的にこのjavaコマンドが何をやっているのか(どこから起動しているのか、オプションが何で起動しているのか等) を調べたいのですが、調査する方法(コマンド等)はあるのでしょうか。 ご教示お願いします。

みんなの回答

  • ishi7474
  • ベストアンサー率32% (71/216)
回答No.2

>lsofコマンドで見るとコマンドがjavaでNAMEがpipeとなっている行 >(PIDも同じ)が何100行も表示されます。 PIDが分かっているのでしたら、psコマンドの出力にあるPIDと照合 すればいいのでは。

noname#98978
noname#98978
回答No.1

ふつう、真っ先にまずpsで調べると思うのですが そんな基本知識も無いですか?

tomotomo888
質問者

補足

説明不足ですいません。 ps auxコマンドで見ていたのですが、特に気になるプロセスは存在しませんでした。(javaコマンドは下記2つしかありませんでした) /usr/local/java/bin/java -s /usr/lib/jvm/java-1.4.2-sun  ※長時間起動しているプロセスは/usr/X11R6/bin/X :0 -auditだけなのですが、 何かjavaに関係あるのでしょうか。。 何かのプロセスが終了するときに、正常にクローズできずこのようになっているように思えます。 具体的にlsofコマンドで見れるpipeがpsコマンドのどれに結びついているのか(もしくはjava以外のプロセス名で内部的に どんなjavaコマンドで実行されているのか)を調べる方法があればご教示頂きたいです。 知識不足ですいませんが、アドバイスお願いしたいです。

関連するQ&A

  • javaのプロセス起動について

    UNIXで例えば以下のようなコマンドでjavaのプロセスを停止するとします。 ps -eo pid,comm | awk '$2=="java" {print "kill -9" $1}' 逆にjavaのプロセスをコマンドで起動する方法はありますか?

  • コマンドの履歴の日付が知りたい

    勝手にサーバが再起動している状況があったので lastコマンドで確認しましたら、rebootの履歴が残っておりました。 /var/log/boot.logの再起動した日付を確認したら、システムが停止した履歴は残っておらず、起動した履歴のみ残っておりました。 なので停電か何かで一度電源が落ちて、誰かが電源をいれたのかと思ったのですが、確認できておりません。 それで、その再起動した日の時間に誰かコマンドを打っていないか調査しようと思ったのですが、調査方法が分かりませんでした。 ご存じの方がいたら教えてください。

  • MPLAY32のコマンドオプションについて

    バッチ起動でサウンドを鳴らせた後、そのアプリケーションを閉じたいのですが、下のように書くとMPLAY32は起動するのですが、停止状態でとまってしまいます。 アプリケーションの開始と閉じるコマンドオプションがあれば教えてください C:\WINNT\SYSTEM32\mplay32.exe MUSIC.wav できなければ、別のフリーソフトでも結構です。 よろしくお願いします。

  • Java2Dの実行エラー(2)

    作成したJavaのソースをjavacでコンパイルを通し、 そのあとにjavaコマンドで実行を通したところ、 以下のようなエラーメッセージが出力され実行できませんでした。 (作成したクラスファイルは「EdgeDetection.class」です。) ------------------------------------------------- C:\TEMP>java -cp . EdgeDetection Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException at EdgeDetection.main(EdgeDetection.java:31) ------------------------------------------------- このエラーを解消するためにもクラスパスの設定(-classpathオプション)もしましたが、駄目でした。 この現象を解決するには、どのようにしたらよろしいのでしょうか?

    • ベストアンサー
    • Java
  • Linuxサーバでコマンドオプションが使用できない

    ■現象 1.Linuxサーバ上でhostnameコマンドを実行すると  ホストネームが表示されます。 2.Linuxサーバ上でhostnameコマンドのオプションiを  付けて実行すると下記エラーメッセージが表示されます。  「hostname look up failer」 ■質問内容 hostname -iでIPを表示させたいのですが、どこが悪いか 分かりません。 ご教授お願い致します。

  • SQL*Plusで、コマンドの返答を非表示にする方法

    ここ数日、何となく気になっているのですが、SQL*Plusで、「n行選択されました」とか「PL/SQLは正常に終了しました」とかのメッセージを動的に非表示にする方法ってありますか? 起動オプションに -SILENT をつければいいのは分かるんですが、通常のSQLスクリプト内に一時的に非表示するような命令を埋め込めないかと思いまして… 強引にやろうとすれば、HOSTコマンドで子プロセスを起動して、 > HO SQPLUS -SILENT @hoge.SQL などとすれば、何となくうまくいけそうな予感はするのですが、もっとうまいやり方があるような気がしてなりません。(SET コマンドとかで…) うまいやり方を知ってらっしゃる方、或いはそんな方法など無いことをご存知の方は、どうかご教授ください。 Win2000 と Oracle 8.1.7 の組み合わせです。

  • Acronis の再起動方法

    RHEL6.2 です。 Acronis で自動バックアップしているのですが、 0%実行中のまま、3日以上も経っています。 一度停止させて、原因調査をしたいのですが、 「停止」をクリックしてもジョブが実行中のまま何もできずにいます。 またOSを再起動するのはマズい状況です。 OSを再起動させずにAcronis だけを完全に再起動させる方法はありますか? もしくは、強制停止みたいな方法があれば教えてください。 ※ kill コマンドでのプロセス停止もダメでした。 よろしくお願いします

  • <AD>グループメンバー 一覧 コマンド

    Windows Server 2003 のActive Directoryを使用して、ユーザ管理をしています。 グループに所属しているメンバを調べるのに以下のコマンドを使用しています。 dsquery group -name グループ名 | dsget group -members | dsget user -display -samid このコマンドの出力結果の1行1行の先頭にグループ名を追加表示させて、 以下のような出力イメージしたいと思います。 グループ名 ユーザID ユーザ氏名 そして、このコマンドではグループのメンバにグループがいると 途中で停止してしまいます。 この場合はどのように対応すれば宜しいでしょうか? すみませんが、お願いします。

  • WinXPでプロセス起動時の引数や作業フォルダ、OPEN中のファイルを調査する方法

    お世話になります。初めて質問させて頂きます。 WindowsXP(Pro)SP2 で、 (1) プロセス起動時の引数 (2) プロセスの作業フォルダ (3) プロセスが OPEN 中のファイル の調査方法を御存知でしたら教えて頂けないでしょうか。 UNIX の場合、(1) と (2) は ps コマンド、 (3) は lsof コマンドや popen コマンドで調査できたと思いますが Windows でも同等のことは調査できないでしょうか? (タスクマネージャのプロセスタブで表示列を全て選択しても 表示されません。) ※次のような事情で質問させて頂く次第です。 当方、CD-ROM (マニュアルや雑誌縮刷版等) をよく使用するのですが、 時々 CD-ROM が取り出せなくなります。 通常は問題なく取り出せますが、10回に1~2回程度の割合で、 取り出せなくなります。タスクバー上の目に見えるタスクを 全て終了させた状態にしても、10回に1~2回程度の割合で、 取り出せなくなります。この場合、パソコンを再起動すれば 取り出せます。そのため、CD-ROM 装置の物理的な故障ではなく なんらかのプロセスが異常な状態で起動したまま、 CD-ROM のフォルダをカレントフォルダにしていたり、 あるいは CD-ROM のファイルを OPEN したままになっているのではと 考えている次第です。 (そのプロセスを特定し、強制終了すれば、取り出せるのではと 考えています。) なお PC は ThinkPadT42P、CD-ROM 装置やドライバソフトは 購入時のままで使用しています。 以上よろしくお願いします。

  • antコマンドを、通常のunixコマンドへの変換

    antコマンドを、通常のunixコマンドへの書き下し方法をご教授下さい。 antの構文の定義については知識習得できるものの、 通常のコマンド形式への書き下しについては見当たらず困っています。 下記のant実行形式(build.xml)ファイルを通常のunixコマンドに書き下すとどのようになりますか? もしくは、書き下すための良いサイトの検索方法などありましたらご教授頂けると幸いです。 例えばjavac に関してもオプションとして sourceは見当たるものの、destdirとclasspathrefについてはどのようにオプションに追加すべきかわかりません。 なお、${シンボル名} はちゃんと事前に定義されたものに置き換えられますので、簡易的に記述して頂いて問題ありません。 build.xml全文:https://www.dropbox.com/s/ht9cre199ic0ru6/build.xml?dl=0 112行目 <target name="cvc3" depends="configure-cvc3,check-config.status" unless="config.status.present"> <exec dir="../cvc3" executable="/usr/bin/make"/> <copy file="../cvc3/java/lib/${cvc3.jar}" todir="${lib.dir}" /> </target> cvc3フォルダにて $ /usr/bin/make $ copy ../cvc3/java/lib/libcvc3-3.0.0.jar 119行目 <target name="compile-tests" depends="jar"> <mkdir dir="${build.dir}/test"/> <javac srcdir="${test.dir}" destdir="${testClasses.dir}" classpathref="junit-classpath"/> </target> cvc3フォルダにて(?) $ mkdir ${build.dir}/test $ javac [オプション不明] 126行目 <target name="test" depends="compile-tests"> <junit fork="yes"> <env key="LD_LIBRARY_PATH" path="../cvc3/java/lib:../cvc3/lib" /> <classpath refid="junit-classpath"/> <batchtest> <formatter type="plain" usefile="false" /> <fileset dir="${testClasses.dir}"> <include name="**/*Test.class" /> <exclude name="**/RhinoTest.class"/> <exclude name="**/Cvc3Test.class"/> </fileset> </batchtest> </junit> </target> 141行目 <target name="test-rhino" depends="compile-tests" description="See some Rhino return values"> <junit> <classpath refid="junit-classpath"/> <batchtest> <formatter type="plain" usefile="false" /> <fileset dir="${testClasses.dir}"> <include name="**/RhinoTest.class"/> </fileset> </batchtest> </junit> </target> 154行目 <target name="test-cvc3" depends="compile-tests" description="Make sure that cvc3 runs properly"> <junit fork="yes"> <env key="LD_LIBRARY_PATH" path="../cvc3/java/lib:../cvc3/lib" /> <classpath refid="junit-classpath"/> <batchtest> <formatter type="plain" usefile="false" /> <fileset dir="${testClasses.dir}"> <include name="**/Cvc3Test.class"/> </fileset> </batchtest> </junit> </target> </project>