@いえろーばっくすさん > 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 というページを置きました。お暇な方、ご笑覧くださいませ。 |