68user's page 掲示板

Prev< No. 2913〜2929> Next  [最新発言に戻る] [過去ログ一覧]
No. 2913 # (^^) 2002/10/17 (木) 23:49:14
こんにちは。突然ですが質問させて下さい。
プロセス番号0〜2の
(swapper)
/sbin/init --
(pagedaemon)
プロセスの役割は何でしょうか?

No. 2914 # G 2002/10/18 (金) 17:27:00
質問いたします。下記のコマンドの条件部分($NF ~ /'"$1"')の意味がいまいち理解できないので(最後のフィールドの中から1フィールド目の値を含むものというところまでわかるのですが・・・)、ご教示ください。
ps -el | awk '($NF ~ /'"$1"'/) {print $4}' mypid =$$

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 2915 # 68user 2002/10/21 (月) 01:58:15
今更ですが、わかるものだけ回答しておきます。

>>2901 かなっぺ
> ということは、データのバッファリングに40分かかっていると
> いうことなのでしょうか?
web サーバが全データを受信し終わってから CGI プログラムを
起動しているのでしょう。本当にそうなのかどうかは、その 40分の
間に web サーバのプロセスのメモリ使用量がどう変化しているか
観察するといいでしょう。


>>2903 tomu
> grepコマンドである検索文字列と、その次の行を検索すると言うことは、
> 出来ないでしょうか?
GNU grep ならできますが、僕の試した限りでは Solaris 標準の
grep でこれができませんでした。何かやり方はあるのでしょうか?
grep で改行コードをひっかけられば解決なんですが。


>>2910 NT
> BBSなどでバイナリファイルのUPLoadはどのように送ればよいのでしょうか
テキストファイルのアップロードと全く同じでいけるはずです。


>>2913 (^^)
> (swapper)
> (pagedaemon)
スワップ制御とページング制御をする (カーネル内の) プロセスです。

> /sbin/init --
http://X68000.startshop.co.jp/~68user/unix/pickup?init をどうぞ。


>>2914 G
OS のバージョンと ps -el の結果とがないと、これの意図するところは
わかりません。

> ps -el | awk '($NF ~ /'"$1"'/) {print $4}' mypid =$$
awk が解釈するのは
    '($NF ~ /'

    '/) {print $4}'
だけで、$1 の部分はシェルが 1つ目の引数に置換するはずです。

No. 2916 # G 2002/10/21 (月) 09:42:23
>>2915 68user
情報不足で申し訳ございませんでした。しかし、私の疑問は解決致しました。
$1はフィールドではなく、スクリプトの引数を示すということですね。
ありがとうございました。

No. 2917 # G 2002/10/25 (金) 16:39:46
下記のスクリプトはHP-UXの/etc/rc.configファイルなのですが,${CFG_FILE##*/}と${fname##*[.,~\#]}の解読ができません。
どうかご教示ください。よろしくお願い致します。

for CFG_FILE in /etc/rc.config.d/* /etc/TIMEZONE
do
    fname=${CFG_FILE##*/}
    if [ -f $CFG_FILE -a "$fname" !="core" -a "${fname##*[.,~\#]}" = "$fname"]
    then . $CFG_FILE
    fi
done

No. 2918 # ふくし 2002/10/26 (土) 03:01:41
今日簡単なタテケイの問題がありました。タブ区切りで
    ブック名 ファイル名 数値A 数値B 数値C
    ・・・

というファイルをブック名ごとにサマリーし、やはりタブ区切りで
    ブック名 Σ数値A Σ数値B Σ数値C
    ・・・
というファイルを作らなければならなかったのですが、

    while(<STDIN>) {
        ($bname = $fname, $A, $B, $C) = split;
        $data{$bname}{A} += $A;
        $data{$bname}{B} += $B;
        $data{$bname}{C} += $C;
    }
    for $bname (sort keys %data) {
        print join, /\t/, $bname,
            $data{$bname}{A},$data{$bname}{B},$data{$bname}{C},"\n";
    }

とか書いたらどうしても数値が若干少なくなってしまいます。
数万行あって、ほとんどの行は合ってるんだけど
全体の数字が少ない、、。
しかも、カラム A と B は合ってるのに C だけ少ない。

よくよく見るとファイル名に空白が入ってて、
split /\t/ にしないといけなかったんでした。
しかも、ファイル名が空白のデータは特定のカラムにしか
データがなかった。
ふつうこんな間違い方はしませんが、同時に複数の問題が
発生していて、すごくハマりました(泣)

No. 2919 # みー [E-mail] 2002/10/27 (日) 17:33:09
はじめまして。さっそくなんですが質問です。
掲示板CGIを改造してメール送信機能をつけたのですが、改行が反映されていなかったり、題名が文字化けしたりしてます。
ソースはhttp://www.starcity.ne.jp/~hide/0test/treebbs+.txtです。
元はhttp://www.starcity.ne.jp/~hide/0test/treebbs-.txtです。
#------------------メール送信機能-------------------------#
open(MAIL,"| /usr/sbin/sendmail -t") || &error("送信できません。");
print MAIL <<"_MAIL_";
From: ars\@xx.xx
To: hide_mkhs\@yahoo.co.jp
MIME-Version: 1.0
Subject: A-train railway service
X-Mailer: Sendmail
Content-type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

投稿がありました。
名前:$name
題名:$subject
メールアドレス:$mail
ホームページ:$url
メッセージ:$msg
---------------------------------------
投稿者情報
IP:$ip
ホスト:$host
---------------------------------------
A-train railway service(http://www.starcity.ne.jp/~ars/)
_MAIL_
close(MAIL);
#--------------------メール送信機能------------------------#
こう書き加えたんですが…
いま題名はA-train…ですが、日本語にすると文字化けしてしまい、来たメールは
投稿がありました。
名前:みー
題名:新規
メールアドレス:ars@starcity.ne.jp
ホームページ:http://www.starcity.ne.jp/~ars/
メッセージ:<b>タグは‥?</b>どうでしょう?
---------------------------------------
投稿者情報
IP:218.133.200.111
ホスト:YahooBB218133200111.bbtec.net
---------------------------------------
A-train railway service(http://www.starcity.ne.jp/~ars/)
のように改行が反映されてなく、タグもみえみえです。しかも、レスの記号をあらわす">"は&gt;となってしまいます。

どうすればいいのか教えてください。

No. 2920 # ふくし 2002/10/29 (火) 02:10:19
>>2919 みー
メールは HTML じゃなくてプレーンテキストなので、
タグが見え見えだったり改行がそのままだったりするんでしょう。
HTML 形式を維持するなら
HTML メールをサポートしてるメーラーに
HTML 形式のメールを送ればいいんじゃないでしょうか。
(その場合ヘッダはどうなるんでしょうね。
    よくわかりません。よく広告とかで壁紙がついてきたりするから、
    できることはわかっているのだが、、)
題名が文字化けなのは、ISO-2022-JP を正しく読み込んで
ないからでしょう。ブラウザーが送ってくる文字はさまざまなので、
jcode.pl あたりで変換するとか。

No. 2921 # yuk 2002/10/30 (水) 11:50:10
こんにちは。
ちょっとわからないことが有ります。
ご存知の方は教えていただけますでしょうか。
cshで、

set str = "abc def" (←abcとdefの間は全角スペース)
echo $stf

とすると、

abc def (←abcとdefの間は半角スペース)

と表示されてしまいます。
なんとかsetで設定した通りに(全角スペースをそのままに)出力したいのですが、
どのようにすれば良いでしょうか?

No. 2922 # yuk 2002/10/30 (水) 11:52:39
>>2921(訂正)

echo $stf
ではなく
echo $str
でした。

No. 2923 # 68user 2002/11/01 (金) 22:50:29
>>2917 G
> 下記のスクリプトはHP-UXの/etc/rc.configファイルなのですが,
> ${CFG_FILE##*/}と${fname##*[.,~\#]}の解読ができません。
HP-UX の sh は知りませんが、FreeBSD の sh では
          ${parameter##word}
                          最長前置パターンの削除: まず word が展開され、その結果をパターン
                          として扱います。パラメータ parameter の左から、パターンに一致する
                          最長の部分を削除した文字列に置換されます。
とあるので、多分同じでしょう。

> ${CFG_FILE##*/}
basename(1) と同じでしょうね。

> ${fname##*[.,~\#]}" = "$fname"
ファイル名に . , ~ # が含まれていないことをチェックしている
のだと思います。

こういう場合は sh -x /etc/rc.config などとして、どういう
ふうに解析されているのかを調べるというのも一つの手です。

>>2921 yuk
> abc def (←abcとdefの間は半角スペース)
> と表示されてしまいます。
そういう処理をする csh があるとは知らなかったので、OS 名を
教えてください。で、本題ですが echo "$str" でいけるんじゃ
ないでしょうか。

No. 2924 # G 2002/11/06 (水) 13:47:19
2923>
ご返答ありがとうございました。
sh -x コマンドは初めて知りました。
これから活用させていただきます。

No. 2925 # なお@HP-UX11 2002/11/06 (水) 16:21:46
あるプロセスのメモリ使用量を調べたいのですが、可能でしょうか?

No. 2926 # ふくし [E-mail] 2002/11/15 (金) 05:05:47
会社で UTF-8 と Big5(台湾)の変換ソフトが必要になったので、
ローカルに Perl 5.8 を入れてみました。
(ちょっとテストで失敗したんだけど、よくわかんないので
    入れてしまつた ;;;)
=== big5 => UTF-8 ===
#! perl
use encoding 'utf8', STDIN=>'big5';
while (<STDIN>) {
        print;
}
というのはうまくいったっぽいんですが、
=== UTF-8 => big5 ===
#! perl
use encoding 'big5', STDIN=>'utf8';
while (<STDIN>) {
        print;
}
というのは UTF-8 側に BOM(efbbbf)があると
そこがそのまま出てきます。
use encoding 'big5', STDIN=>'utf8';
を使わないで Encode の変換関数を明示的に呼ぼうと思うんですが
(で、BOM はもしあったら事前にカットする)
うまくいきませんでした。つたない質問ですみませんが
何かわかりましたらご教示ください。

No. 2927 # kiki 2002/11/17 (日) 21:23:54
はじめまして。
c言語で書かれたプログラムを使って, .bash_profileのPATHを変更したいのですが,
なかなかうまくいきません.どなたか教えていただけないでしょうか.

ソースは以下のとうりです.

#include<stdio.h>
#include<stdlib.h>

main(int argc, char *argv[])
{
    char buf[100];

    sprintf(buf,"export PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin");
    system(buf);

    exit(1);
}

コンパイルは通って,実行時にエラーは出ませんでした.
bufに文字列はしっかり送られていました.
export PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin とターミナル上で
打つと,しっかりPATHは変更されました.

よろしくお願いします.

No. 2928 # G 2002/11/18 (月) 19:48:53
例えば/aaa/bbb/cccというPATHがあったとして、aaaの部分だけ抜き取る簡単な方法はありませんでしょうか?

/HP-UX

No. 2929 # NAGISA 2002/11/18 (月) 20:17:26
はじめまして。こんばんは。UNIXについて質問があります。
与えられた引数を、そのままエコーバックするシェルスクリプトを作成しいのですが、どうしたらいいかわかりません。
アドバイスを頂けたら幸いです。よろしくお願いします。

Prev< No. 2913〜2929> Next  [最新発言に戻る] [過去ログ一覧]