68user's page 掲示板

Prev< No. 1311〜1316> Next  [最新発言に戻る] [過去ログ一覧]
No. 1311 # 68user 2000/11/04 (土) 00:10:57
@いえろーばっくすさん
> X connection to :0.0 broken (explicit kill or server shutdown).
これはクライアント側の Xlib が出力しているメッセージです。

# 個人的には、あまり気にするほどのメッセージではないと
# 思っています。

よくわかってませんが、多分ウィンドウマネージャの「×」を
押すと、X サーバとのコネクションが切断されるのでしょう。
X クライアントは、コネクションが切断されたので X サーバと
通信できなくなり、エラーとなって終了しているわけです

つまり、「×」ボタンを押すと X クライアントのプロセスが直接
kill されるわけではないということです。

これを直したいなら、まず
    Atom a1,a2;
アトムを宣言します。次に
    a1 = XInternAtom(display, "WM_PROTOCOLS", False);
    a2 = XInternAtom(display, "WM_DELETE_WINDOW", False);
    XSetWMProtocols(display, window, &a2,1);
とすれば、「×」ボタンを押すと、ClientMessage イベントが
送られてきます。後は switch 文の中で
    case ClientMessage:
        if ( event.xclient.message_type == a1 && event.xclient.data.l[0] == a2 ){
            XCloseDisplay(display);
            exit(0);
        }
        break;
とすればいいでしょう。

「×」を押しても終了しないアプリや、終了する前に後始末を
するアプリを作るときは、こういうふうにします。


@rosegarden さん
> FreeBSD の方は標準コマンドの /usr/sbin/fetch で落せますよ。
FreeBSD なら ftp コマンドでも落とせますね。
    % ftp http ://foo.bar.com/hoge.html
    % ftp ftp ://foo.bar.com/hoge.tgz
などなど。Solaris にもこういうコマンドがあればいいのに。

@上條さん
> 私がFTPをたてるだけの技術がないことと
シェルがないということなので今回は無理かもしれませんが、
ftp サーバを立てるだけなら、/etc/inetd.conf に
    ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
と書いて、kill -HUP `cat /var/run/inetd.pid` でおしまいです。
# FreeBSD のデフォルトでは、ftpd は使用可能です。

anonymous ftp サーバなら、さらに (FreeBSD なら) jman ftpd に
書いてあるとおりにやればよいです。


「ネットワークプログラミングの基礎知識」に「HTTP の並行アクセス」
    http://X68000.startshop.co.jp/~68user/net/http-parallel-1.html
というページを置きました。お暇な方、ご笑覧くださいませ。

No. 1312 # mm 2000/11/04 (土) 02:01:53
perl CGIの実行権限について質問させて下さい。
CGI内部でこれを調べる方法を探してて、
ここの掲示板のソースを参考にさせてもらおうと思ったのですが、
ここでは、(getpwuid($>))[0]で、実行権限が誰かを表示してますよね。
これを -o $script_name の検査で、
直接、所有者権限か(真の場合)、それとも他の権限か(偽の場合)を
検査することはできないのでしょうか?


@ActiveX の DLL を舐める
ウチのURLが出てるなぁ…でも、私宛じゃない(笑い)

これ、単にDLLの内部データを読み出したいだけじゃないんでしょうか?
(そういう、ツールがあったと思う)
それなら、perlで注意するのは、binmodeを使うことくらいでしょう。
後は、DLLのバイナリ構造をどこかで調べればいい(私は知らないですが)。

No. 1313 # 68user 2000/11/04 (土) 02:58:09
おそらく -o $filename は
    $> == stat($filename)->uid ? 1 : 0
と同じだと思うので、それで問題ないと思います。

getpwuid を使ったのは特に意味はないので (強いて言えば
-o の存在を知らなかったから)、今後は
    if ( -o $0 ){ 所有者権限 }
で判別しようかと思います。

No. 1314 # mm 2000/11/04 (土) 12:23:02
>と同じだと思うので、それで問題ないと思います。
UIDとかは自信がないので、ありがとうございました。
ウチもそれで行きます♪

No. 1315 # rosegarden 2000/11/04 (土) 14:42:47
> FreeBSD なら ftp コマンドでも落とせますね。
これは知りませんでした。勉強になりました。
> などなど。Solaris にもこういうコマンドがあればいいのに。
Solaris は /usr/local/bin に GNU コマンドとか BSD コマンドとか
インストールしないと日常的な作業は確かに辛いですね。

No. 1316 # たかぽん 2000/11/06 (月) 15:08:26
UNIXの/var/adm/crashディレクトリについての質問です。
最近仕事でHP−UNIXを使用しているのですが、/var/adm/crash
ディレクトリに、「core〜」、「bounds」のディレクトリが作成されて
しまい、/var の領域が100%になってしまいます。
「core〜」については、削除しても良いと本に載っていたのですが、
「bounds」については、削除してよいか分からないです。
どなたかご存知の方いらっしゃいましたら、お教えください!
よろしくお願いします!

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