68user's page 掲示板

Prev< No. 4071〜4091> Next  [最新発言に戻る] [過去ログ一覧]
No. 4071 # 68user 2004/12/30 (木) 03:31:09
>>4070 たなか
> 本当の BSD なら、close できるものなのでしょうか。
FreeBSD 5.2-RELEASE では close(2) できました。ちなみに
カーネルには queue 用を close するコードも含まれています。

詳しくないので事情はわかりませんが、Mac OS X (Darwin?) の
問題ではないかと思います。

> close または、それに代わる処理も追加してもらえると大変助かります。
echo サーバばかり作っていると終了処理がおろそかになっていけませんね。
「quit」を送ると終了するようにするなど、何かしら考えたいと思います。

No. 4072 # たなか 2004/12/30 (木) 09:44:40
>>4071 68user

どうもありがとうございます。

>> 本当の BSD なら、close できるものなのでしょうか。
> FreeBSD 5.2-RELEASE では close(2) できました。ちなみに
> カーネルには queue 用を close するコードも含まれています。

手元に BSD が動作するマシンがないので、実験できませんでした。
Darwin の問題ですね。Apple に連絡してみます。
下のコードを実行すると次のような結果となります。

kqueue : 3
close(3) : -1
close: Bad file descriptor
kqueue : 4
close(4) : -1
close: Bad file descriptor

------------------------------------------------
#include <stdio.h>

#include <sys/types.h>
#include <sys/event.h>
#include <sys/time.h>

#include <unistd.h>

int
main() {

        int kq;
        int ret;

        kq = kqueue();
        printf("kqueue : %d?n", kq);
        if (kq == -1) {
                perror("kqueue");
        } else {
                ret = close(kq);
                printf("close(%d) : %d?n", kq, ret);
                if (ret == -1) {
                        perror("close");
                }
        }

        kq = kqueue();
        printf("kqueue : %d?n", kq);
        if (kq == -1) {
                perror("kqueue");
        } else {
                ret = close(kq);
                printf("close(%d) : %d?n", kq, ret);
                if (ret == -1) {
                        perror("close");
                }
        }

        return 0;
}
------------------------------------------------

No. 4073 # さいさん 2004/12/30 (木) 18:01:49
サーバがHP-UX11.00で、Bシェルでシェルを書いています。
シェル中で、「ls *.txt」を実行しています。

"*.txt"が存在しない場合、エラーが出力されるので、
「ls *t.xt > /dev/null 2>&1」で、エラーを出さないよう
にしました。

そこで、lsの処理に"grep -v"を追加し、"*.txt"がない
状態にすると「*.txt がみつかりません。」がでます。

ls *t.xt | grep -v "kekka" > /dev/null 2>&1

エラーがでないようにするにはどうしたらよいのですか。

No. 4074 # zsh 2004/12/31 (金) 18:57:02
ここで質問する人のブラウザには、
「UNIX・ネットワークに関する一般的な質問は受け付けていません。」
という一文は映らないのだろうか?

>>4073 さいさん
最終的にどうしたいのか良く判らないが、取りあえずはこれで。
ls *txt 2>/dev/null | grep -v "kekka"

No. 4075 # さいさん 2005/01/01 (土) 16:34:07
>>4074 zsh

ありがとうございます。

実際にしたいことは、
シェルを実行した際、「*.txt がみつかりません。」を
標準出力したくないのと、戻り値の判定をしたいのです。

ls *.ldif | grep -v "kekka" > /dev/null 2>&1
if [ $? -ne 0 ] ; then
        echo "Text File Nothing Today"
        exit 0
fi

No. 4076 # さいさん 2005/01/01 (土) 16:36:28
>>4075 さいさん

すみません。
間違いがありました。


実際にしたいことは、
シェルを実行した際、「*.txt がみつかりません。」を
標準出力したくないのと、戻り値の判定をしたいのです。

ls *.txt | grep -v "kekka" > /dev/null 2>&1
if [ $? -ne 0 ] ; then
                echo "Text File Nothing Today"
                exit 0
fi

No. 4077 # zsh 2005/01/03 (月) 00:17:18
>>4076 さいさん
結果的にファイルの有無を確認したいんですよね?
だとすれば、戻り値のチェックよりも下記のようにしては如何でしょうか?

set -- `ls *txt 2>/dev/null | grep -v "kekka"`
if [ $# -eq 0 ] ; then
        echo "no file."
fi

※:シェルに引数を与えている場合等は考慮が必要です。

No. 4078 # さいさん 2005/01/04 (火) 15:57:43
>>4077 zsh

ありがとうございます。

set -- `ls *txt 2>/dev/null | grep -v "kekka"`

「set -- `ls 」
の使い方教えてください。
どのような意味なのですか

No. 4079 # zsh 2005/01/05 (水) 10:38:55
set --
で引数(定位置パラメタだっけ?)を書き換えることが出来ます。

今回の場合は、
ls *txt 2>/dev/null | grep -v "kekka"
の出力で置き換える事になりますので、
$#で上記コマンドの結果出力されたファイル数を参照できます。

No. 4080 # さいさん 2005/01/09 (日) 14:24:11
>>4079 zsh

お礼遅くなって申し訳ありません。
ありがとうございます。

>set --
>で引数(定位置パラメタだっけ?)を書き換えることが出来ます。

参考本とかで調べてます。

No. 4081 # しょしん [E-mail] 2005/01/21 (金) 14:40:41
ご存知の方おられましたら、ご教授ください。
環境OSは、Win2000です。
OpenSSLライブラリを利用したDER形式の鍵ファイルの読み書き方法を実装方法が
わかりません。i2d_RSAPrivateKey、d2i_RSAPrivateKeyを利用し、ファイル出力
をしてみましたが、_fp付きはエラーです。(_bio付きはOK)
また、ここで出力された鍵ファイルは、OpenSSLでは、暗号/復号可能です。
しかし、他社製品(RSA BSAFE)では、鍵ファイル読み込みエラーとなります。
rsaコマンド等で変換作業を行うと読み込み可能となり、暗号・復号ができます。
なんだか理解できません。
以上、宜しくお願い致します。

No. 4082 # 68user 2005/01/21 (金) 15:17:49
>>4081 しょしん
暗号に関する一般的な質問も受け付けていません。

    ■暗号技術【ROUND2】■
    http://pc5.2ch.net/test/read.cgi/tech/1088530204/l50

などで質問してください。

- OpenSSL のバージョンくらい書きましょう。
- 何を知りたいのか不明。_bio 付きで出力して、rsa コマンド等で
    変換して、RSA BSAFE で読み込めているんなら別にいいのでは。
    例えば「rsa コマンドに頼りたくない」「なぜ rsa コマンドを
    使わなければいけないのかわからないので、解説してほしい」
    などと書くべき。
- 単に _fp 付きはエラーと言われても、「コーディングミスでは?」
    くらいしか返す言葉はありません。つーか、ソースくらい提示しましょう。

No. 4083 # >>4082 2005/01/21 (金) 16:20:40
内容不備&質問場所違いでした。
大変失礼しました。
撤収します。

No. 4084 # yoshiki 2005/01/25 (火) 09:47:00
CGIでmkdirとかmountとかを呼び出す方法をご教授願います。
サーバー上でプログラムを実行させたいのですが、動作しませんでした。

C言語にてCGIプログラムを作っています。
execveを使用してもうまく動作しませんでした。


------- test.c (test.cgi) -----------------------
#include <stdio.h>

int main()
{
    char *argv[3];
    argv[0]="/bin/mkdir";
    argv[1]="test";
    argv[2]=NULL;

    int pid=fork();
    if(pid==0){
        execve(argv[0],argv,NULL);
        perror("execve");
        exit(0);
    }
    return 0;
}

No. 4085 # yoshiki 2005/01/25 (火) 09:48:43
↓↓
#include <unistd.h>

が抜けていました。
よろしくお願いします。

No. 4086 # たらい 2005/01/26 (水) 18:10:01
はじめまして。
いつも「UNIXの部屋」を利用させていただいています。

awkコマンドのところですが、誤字がありましたのでお知らせさせていただきました。
****************************************************************
特殊なパターンとして BEGIN と END がある。BEGIN は最初に実行され、END は最後に実行される。
% ls -l | awl 'BEGIN { print "START!"} {total+=$5; print $9} END {print "size total="total} '
****************************************************************
1つ目のパイプの後の「awk」が「awl」になっています。

「awkのエイリアスです。」なんていわれたら、どうしようもありませんが…。

取り急ぎ、ご連絡までに…

No. 4087 # 68user 2005/01/26 (水) 19:11:43
>>4086 たらい
修正いたしました。ご指摘ありがとうございました。
    http://X68000.q-e-d.net/~68user/unix/pickup?awk

No. 4088 # tansy [URL] 2005/01/27 (木) 04:45:52
ライセンスについて質問です。
このサイトにあるコードはフリーソフトウェアと考えてよいでしょうか。
チュートリアルサイトなのでコードを自由に利用してよいだろうとは思ったのですが、
念のため確認させてください。

具体的にはecho-server-select.cを参考にしながらプログラムを書いたのですが、
将来それをフリーソフトウェアとして配布したいと考えています。
問題ないですよね?
問題あるなら空で書けるように修行してやり直すことになるのですが…。

ちなみに作っているものはこれ
  http://humming.dip.jp/bardic/
でネットゲームのようなものです。

よろしくお願いします。

No. 4089 # 68user 2005/01/27 (木) 13:10:16
>>4088 tansy
> 将来それをフリーソフトウェアとして配布したいと考えています。
> 問題ないですよね?
はい、問題ありません。ただしエラーチェックが甘めなので、それを踏まえた上で
お使いください。


ついでなのでライセンスを明確にしたいと思います。

わたしが書いたプログラムは、特に明記していない場合は修正 BSD ライセンスと
します (現時点で修正 BSD ライセンス以外のライセンスを適用しているプログラム
はありません)。

わたしが書いた文章は、フリーではありません。ただし (言うまでもありませんが)
著作権法における引用は可です。

No. 4090 # tansy [URL] 2005/01/27 (木) 15:53:06
>>4089 68user
修正BSDライセンスであること了解しました。
> ただしエラーチェックが甘めなので、それを踏まえた上でお使いください。
了解です。

ありがとうございました。

No. 4091 # 亜紀 2005/02/06 (日) 14:14:32
はじめまして。今卒業研究に必死に取り組んでいるんですけども、
ソケットプログラミングがよく分かりません・・・

sendやrecvなどを使って、更新されていくデータを一定時間
ずーっと送信、もしくは受信ってできますか?

研究室も誰もいないし、聞けるのはみなさんしかいません。うう。
どうかお願いします。

PS.焦っているので、他の掲示板などでも同様の書き込みをするかもしれません。
      ここが最初ですが、もし他の掲示板から何かいいアドバイスをいただけましたら、
      すぐに反映させていきたいと思います。よろしくお願いします。

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