AIと戦って、あなたの人生のリスク診断 >>

いつもアドバイスありがとうございます。
catalina.outへのデータ吐き出しについて、ご存知の方がいられましたらアドバイスを宜しくお願い致します。

質問内容です。
先ほどcatalina.outファイルに対して以下の作業を行ったらログが吐かれなくなりました。
どのように対処したらログが吐かれるようになるのでしょうか?
1)cpコマンドでバッグファイルを作成
cp catalina.out catalina.out_bak
2)rmコマンドでファイルの削除
rm catalina.out
3)viコマンドでファイルの作成
vi catalina.out

以上です。
宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

現状の状態ですとTomcatの再起動しかないです。


catalina.outですが、標準出力と標準エラー出力をリダイレクトでcatalina.outに書き込んでいます。
また、プロセスにオープンされたままのファイル(今回のcataline.out)をrmで削除しても実体は最終クローズされるまで残っており、引き続きその実体に出力され続けます。
その状態で同じファイル名のファイルを作成してもOSから見れば別物になります(どうしてそうなるのかは省略しますが)。

どうしても、Tomcatの再起動なしでログ(catalina.out)のrotateしたいのでしたら、Apacheに付属のrotatelogsのようなものを使用するしかないです。
参考URLにrotatelogsを使用したログのrotateの方法の一例を載せておきます。

参考URL:http://www.13hz.jp/2004/05/tomcatcatalinao.html
    • good
    • 0
この回答へのお礼

ありがとうございます。
再起動したら取れるようになりました。

お礼日時:2005/04/12 10:07

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qmailコマンドで外部メールに送れない

内部からmailコマンドで rootに送信すると/var/spool/mail にデータが入る、これは、要するに内部から内部に送られたと思っていいのでしょうか、今度は、内部から外部ドメインに送る
#mail xxx@yahxx.co.jp
#Subject: test
#test
#.
#Cc:
と行うと、外部に届かないのです。
sendmailは8.12.5です
考えられる事は何がありますでしょうか?

Aベストアンサー

>Oct 18 18:04:09 localhost sendmail[26578]: j9I9491Y026578: to=xxx@yahxx.co.jp,
>delay=00:00:00, mailer=esmtp, pri=30037, dsn=4.4.3, stat=queued

メールログからDSN(Delivery Status Notification)が4.4.3だからDNSが利用出来ずに送信先メールサーバが分からずメールが送信出来ていないのだと思います。
メールログにホスト名がlocalhost.localdomainと表示されているようですしネットワーク周りの設定はちゃんと行っていますか?

○RFC 3463より抜粋
 http://www.ietf.org/rfc/rfc3463.txt?number=3463
-------8<-------8<-------8<-------8<-------
X.4.3 Directory server failure

The network system was unable to forward the message, because a
directory server was unavailable. This is useful only as a
persistent transient error.

The inability to connect to an Internet DNS server is one
example of the directory server failure error.
-------8<-------8<-------8<-------8<-------

>Oct 18 18:04:09 localhost sendmail[26578]: j9I9491Y026578: to=xxx@yahxx.co.jp,
>delay=00:00:00, mailer=esmtp, pri=30037, dsn=4.4.3, stat=queued

メールログからDSN(Delivery Status Notification)が4.4.3だからDNSが利用出来ずに送信先メールサーバが分からずメールが送信出来ていないのだと思います。
メールログにホスト名がlocalhost.localdomainと表示されているようですしネットワーク周りの設定はちゃんと行っていますか?

○RFC 3463より抜粋
 http://www.ietf.org/rfc/rfc3463.txt?n...続きを読む

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)

Qhttpdの子プロセスがゾンビ化する原因

httpdは複数の子プロセスを生成しますが、この子プロセスがゾンビプロセス化してしまう
ことがあります。
このゾンビ化してしまう原因として考えられるものを教えて下さい。

『何らかの理由で子プロセスが停止せずに親プロセスが停止した』等、あいまいな答えでも
構いません。もちろん具体的であれば、とても助かりますが…。

思いつく限りいくつでも構いませんので、教えて下さい。

ちなみに、私が使用しているマシンで上記現象が発生している訳ではなく、一般的な事例として
子プロセスのゾンビ化の原因になり得る事象を知りたいと思っていますので、構成情報などは
あまり気にせずに答えて頂けると幸いです。

よろしくお願いします。

Aベストアンサー

ゾンビプロセス一般について書きます。

ゾンビプロセスとは、プロセスの実体は無いが、プロセステーブル(カーネルがプロセスを管理してる台帳)に
エントリーがある状態を指します。

名簿に名前があるけど、本人は居なくなっちゃってる、と。

あるプロセスが終了したときには、必ず一瞬でもこの状態になります。
通常は、プロセスが終了したというシグナルが親プロセスに通知され、親プロセスが後始末を
してあげて、めでたくゾンビ状態ではなくなるのです。

もし、親がシグナルを受けたときに適切な処理を行っていなければ、親プロセスが終了するか
システムが再起動するまで、ゾンビ状態のままです。

> このゾンビ化してしまう原因として考えられるものを教えて下さい。

子プロセスからのシグナルを受けたときの処理がまずい、のが原因です。

Qレッドハットのバージョン確認方法

自分のサーバで使用しているREDHATのバージョン確認はどうすればいいのでしょうか?

more /etc/issue
とやっても英文しか出てきませんでした。

uname -all
でもカーネルのバージョンは出るのですが、REDHATのバージョンは出ませんでした。

Aベストアンサー

> more /etc/issue
> とやっても英文しか出てきませんでした。

その英文にはRedHatのバージョンは書いてなかったのですか?
書いていなかったとしたら、管理者により編集されている可能性
がありますね。

cat /etc/redhat-release

ではいかがでしょう?
やっぱり英文ですけど。

rpm -q redhat-release

でもいいかも

QTomcatは起動しますが初期index画面が表示できません

Tomcatについての質問は多数寄せられておりますが、
それらを参考にしてインストールなど行いますが、
どうしても後一歩のところで私の場合表示できないという、もどかしい状態になっております。
どうかご存知の方いらっしゃいましたらご教示お願い申し上げます。

Tomcat5.0をWindowsXPで起動しております。
Javaはj2sdk1.4.1_02です。
通常インストールした後Startup.batを起動し、IE6.0で
http://localhost:8080もしくは
http://127.0.0.1:8080と入力、Enterキーを押しますが、画面に
Connection refused
--------------------
Description: Connection refused
と表示されてしまいます。

下記に参考になるかわかりませんが、各種起動状態を記載いたします。アドバイスよろしくお願い申し上げます。

◆コマンドプロンプトで
>ping localhostと入力すると、
-----
Pinging yamamoto [127.0.0.1] with 32 bytes of data:

Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
-----

と表示されます。また、
>telnet localhost 8080の場合は
-----
接続中: localhost...ホストへ接続できませんでした。 ポート番号 8080: 接続に失敗し
ました
-----
と表示されます。

お手数ですが、よろしくお願い申し上げます。

Tomcatについての質問は多数寄せられておりますが、
それらを参考にしてインストールなど行いますが、
どうしても後一歩のところで私の場合表示できないという、もどかしい状態になっております。
どうかご存知の方いらっしゃいましたらご教示お願い申し上げます。

Tomcat5.0をWindowsXPで起動しております。
Javaはj2sdk1.4.1_02です。
通常インストールした後Startup.batを起動し、IE6.0で
http://localhost:8080もしくは
http://127.0.0.1:8080と入力、Enterキーを押しますが、画面に
Connection re...続きを読む

Aベストアンサー

>Tomcatは起動しますが
とのことですが、Tomcatが起動していないと思います。

pingが通るのはTomcatと無関係で、PCが立ち上がっていれば帰ってくると思います。

telnet localhost 8080
で接続できないとのことなので、Tomcatが起動できていないのではないでしょうか?

Qapt-get install ****** でinstallしたものをuninstallするには?

御世話になります。
vncserverだけをinstallするつもりが
誤って
apt-get install vncとうってしまいました。
これをuninstallしたいのですが
どのようにすればよろしいでしょうか?

教えて下さい。

Aベストアンサー

# apt-get remove パッケージ名
では、設定ファイルは削除されずに残ります。

完全に削除するときは、
# apt-get --purge remove パッケージ名
です。

QTomcatのメモリー使用量が知りたい

Tomcatに割り当てられているメモリーの
総容量や現在使用中の容量、空き容量を知りたいのですが
それらを知る方法はあるのでしょうか?

Aベストアンサー

Runtime.getRuntime().totalMemory()
割当メモリーが分かります。
Runtime.getRuntime().freeMemory()
空きメモリーが分かります。

Qテーブルタグの中にdivを含めてはダメ?

テーブルタグの中にdiv要素を入れるとダメなのでしょうか?
何か不都合でもあるのでしょうか?
何かご存知の方がいれば教えていただけませんか?

Aベストアンサー

以下、HTML 4.01での話です。(XHTMLでもほぼ同じだと思います)

tableタグ直下に書けるのは、caption,col,colgroup,head,tfoot,tbodyと定義されています。
特定の条件下でtbodyが省略できますので、実際はtrも書けます。これら以外は書けないことになっています。
tr直下にはth,tdが書けることになっています(それ以外は不可)。

th,tdの下にはブロック要素が書けるので、divも書けます。

このように、テーブル内でth,tdの中以外でdivが使えないのはHTMLの仕様でそう決まっているからです。

QTomcatでアクセスログを出力したいのですが。

こんにちは、こちらにはいつもお世話になっております。
さて、今まで作っていたwebコンテンツがようやく完成したのでTomcatにてアクセスログを取得できるようにして公開しようと思いました。
『UNIXな生活』様(http://park15.wakwak.com/~unixlife/java/tomcat5-serverxml.html)
を参考にserver.xmlのValve部分を探し出しコメントアウトを解除し、Tomcatを再起動しました。
しかし何度かコンテンツにアクセスを行っても出力されません。
コメントアウトを解除しただけではアクセスログが出力されないのでしょうか?
デフォルトなのでTomcat5.0\logs内に出来るはずだとは思うのですが…。
試しにサーバを再起動してみてもダメでした。
知恵をお貸しください_(._.)_

Aベストアンサー

ao108 さん、おはようございます。

使用している Tomcat のバージョンと、Tomcat を実行している OS は何でしょうか?
下記の説明は、以下の環境を前提に説明しております。

 Tomcat v5.5.17
 OS : Windows XP(SP2)


さて、アクセスログについてですが、下記の通り設定ファイルを変更してできると思います。

1. Tomcat をインストールしたディレクトリ内にある conf  ディレクトリを開きます。

2. server.xml のバックアップを取っておきます。

3. server.xml をテキストエディタなどで開き、オリジナルの 場合は、338行目と342 行目のコメントを解除します。


---------------------------------------------------------
 変更前
---------------------------------------------------------
    :
    :
338 : <!--
339 :  <Valve className="org.apache.catalina.valves.AccessLogValve"
340 :   directory="logs" prefix="localhost_access_log." suffix=".txt"
341 :   pattern="common" resolveHosts="false"/>
342 : -->
    :
    :


---------------------------------------------------------
 変更後
---------------------------------------------------------
    :
    :
338 : <!-- 2006/08/06 -->    ← コメントを解除
339 :  <Valve className="org.apache.catalina.valves.AccessLogValve"
340 :   directory="logs" prefix="localhost_access_log." suffix=".txt"
341 :   pattern="common" resolveHosts="false"/>
342 : <!-- 2006/08/06 -->    ← コメントを解除
    :
    :


4. server.xml を保存します。

5. Tomcat を再起動します。

6. Webブラウザから、以下の URL にアクセスしてみます。

  http://localhost:8080/

7. Tomcat をインストールしたディレクトリ内にある logs ディレクトリを開きます。


8. logs ディレクトリにアクセスログファイルが作成されています。
 たとえば、2006/08/06 のアクセスログであれば、以下のファイル名で作成されます。

  localhost_access_log.2006-08-06.txt

 また、ログファイルの内容は以下のようになっています。

---------------------------------------------------------
 localhost_access_log.2006-08-06.txt の内容
---------------------------------------------------------
127.0.0.1 - - [06/Aug/2006:05:52:16 +0900] "GET / HTTP/1.1" 200 8132
127.0.0.1 - - [06/Aug/2006:05:52:16 +0900] "GET /tomcat-power.gif HTTP/1.1" 200 2324
127.0.0.1 - - [06/Aug/2006:05:52:16 +0900] "GET /tomcat.gif HTTP/1.1" 200 1934
127.0.0.1 - - [06/Aug/2006:05:52:16 +0900] "GET /asf-logo-wide.gif HTTP/1.1" 200 5866
127.0.0.1 - - [06/Aug/2006:05:52:16 +0900] "GET /favicon.ico HTTP/1.1" 200 21630



以上です。

ao108 さん、おはようございます。

使用している Tomcat のバージョンと、Tomcat を実行している OS は何でしょうか?
下記の説明は、以下の環境を前提に説明しております。

 Tomcat v5.5.17
 OS : Windows XP(SP2)


さて、アクセスログについてですが、下記の通り設定ファイルを変更してできると思います。

1. Tomcat をインストールしたディレクトリ内にある conf  ディレクトリを開きます。

2. server.xml のバックアップを取っておきます。

3. server.xml をテキストエディタなどで開...続きを読む

Qリンクをクリックした時にformからPOST送信したい。

HTML、PHP、JavaScript等でサイトを作っているのですが・・・。

【実現出来ている例】
<form name="form1" method="post" action="Next.php" onSubmit="return InputCheck()">
 <input type="submit" value="送信">
</form>
 submitボタンを一つ置いて、それがクリックされた場合に
formの内容をPOSTで送信する。

【実現したい例】
<form name="form1 method="post">
 <a href="Next.php" onClick="???">???</a>
</form>
 formの中のリンクをクリックされた場合に、formの内容を
POSTで送信したいのですが、その実現方法がわかりません。
GETで送るという手もあり得ますが、今回はどうしてもPOST
したいのですが。

Aベストアンサー

<form name="form1" method="post" action="Next.php">
<a href="#" onClick="document.form1.submit();">???</a>
</form>

onclick内の対象がform1としてあてているので、
アンカータグは別にform内に記述しなくても大丈夫です

form内にhidden等でnameとvalueを持ったパラメータがあればそれも送られます

アンカータグから動的にvalueを変更したい場合は、
document.form1.hogename.value = 'hoge';
等をsubmit()の前に行えば可能です

ただしform内に
<input type="hidden" name="hogename" value="">
を記述する等、変更先パラメータの元を用意する必要がありますのでご注意下さい


人気Q&Aランキング