パラメータが足りなかったりする場合は stderr に出力で終了コード 2、-h/--help を付けた場合は stdout に出力で終了コード 0、というのが標準じゃなかったかな。GNU 系のツールの話で他がどうかは知らないけど私はこれに合わして作っている。
パラメータが足りなかったりする場合は stderr に出力で終了コード 2、-h/--help を付けた場合は stdout に出力で終了コード 0、というのが標準じゃなかったかな。GNU 系のツールの話で他がどうかは知らないけど私はこれに合わして作っている。
だるい. 英辞郎によれば, 夏ばてを英語で "suffering from the summer heat" というらしい. 冷房負けは "suffering from the summer cool" かな ... 何もする気が起きない. 消去法で日記を書くことに. The Art Of Unix Programming を読んだ. (原書は オンライン版 もある.) 主題については良くかけており, 得るものも多かった. プログラミングというとクラスや関数がどうといったコードの話を想像するけれど, この本の重点はもう少し外側. プロセス同士の協調の仕方 (パイプとか) やファイルフォーマットの設計, コマインドライン・インターフェイスの流儀などについて詳しく説明している. Unix はプロセス同士の協調を好む. だからその繋ぎ方には気を使うんだろうね. Unix の歴史など文化的な話題に
inetd や xinetd (以下 inetd) はインターネットサービスをデーモン化するのに共通している処理を担い、ほとんどの時間をアイドル状態で過ごすその手のサービスに必要なリソースを節約する役割を果たします。 inetd のひとつ面白いところは、inetd でサービス化したいプログラムの標準入力/標準出力がクライアントソケットの入出力に接続されるところです。例えば daytime 相当のサービスを自分で作ろうと思った場合 #!/usr/local/bin/perl # daytime.pl use strict; use warnings; use DateTime; use IO::Handle; STDOUT->autoflush(1); STDOUT->printf( "%s\n", DateTime->now(time_zone => 'Asia/Tokyo') ); と標
調べたいことがあってApacheやらlighttpdやらkeepalivedやらのソースコードを読むときはGNU GLOBALを使ってたんですが、常々、メモが書き込めたらいいのになーと思ってました。 フローのメモ 関数の動作、影響のメモ マクロのメモ とかとか その場では覚えてられるんですが、最近は性能劣化のため日をまたぐと脳内バッファがフラッシュされるようになってきたので、howmでメモったり紙に印刷して手書きでメモったりしてたんですが、なんかどうもいまいち。 GLOBALのページに直接付箋はれるといいのになぁと思ってちょっと探したところ、InternoteというステキなFirefoxのextensionがありました。 こんな感じです: みんなでメモをシェアするのには向きませんが、個人的なメモをとるのにはよさげです。
viクローンのVimは、Emacsと並ぶオープンソース・エディタの巨頭である。このエディタは、単にviのオープンソース版というだけではなく、スクリプトやプラグインによる高い拡張性といったオリジナルのviにない特徴も備えている。しかし、viから引き継いだ独特の操作法から、Vimを敬遠している向きも少なくないようだ。そこで以下では、Vimの操作を習得する、あるいはVimをもっと活用するためのハウツーを紹介する。 2007年11月13日更新:中級編に「Vimのステータスラインをより有効に活用する設定法」を追加 初級編 Vim 最初の一歩 Vimの簡単な始め方 2007年04月13日 Vimの無数の機能と柔軟さはベテランのユーザにとっては大きな利点であるが、初心者にとっての敷居を高くしてしまっているというのも事実だ。あなたがもし、Vimを使いたいとずっと思っていながらも初めて試したときにうんざりし
C++と Pthreads でミニマルなHTTPサーバを書く 『UNIXネットワークプログラミング』を読んでいると、自分でも何かネットワーク系の小さなプログラムを書いてみたくなりました。そこで、ミニマルなHTTPサーバを C++と Pthreads で書いてみました。 同じ著者の「詳解UNIXプログラミング」もそうだったように、今回の本もほとんどすべてのページに、重要なことが書かれています(最後のほうのXTIの部分は例外かもしれませんが)。 たとえば、27章ではネットワークサーバの実装として、次の設計方針がそれぞれ検討され、実際のコード付きで解説されています。 クライアントごとに fork 事前に fork - 各プロセスで accept 事前に fork - ファイルロックで accept を保護 事前に fork - Mutex ロックで accept を保護 (PTHREAD_PRO
この文書ではまず、関数ポインタとその型チェックについて述べた後で、UNIXのシグナル機能について解説する。そして、ウィンドウシステムのプログラミングで多用される「コールバック」について解説する。 ちなみにシグナルの機能は本質的には UNIX に固有である。他のOSにもないわけではないが、その異同については筆者は関知しない。また、UNIXでのシグナルの実装については Linux を基準に解説をしていく。UNIX シグナルは、実は具体的な実装において大変差がある機能なのだが、一応 POSIX で「こう実装しなさい」という風に決まってはおり、後発の Linux は比較的マジメにそれを実装しているので、まあ、Linux を基準にするのが無難というものであろう(ユーザ比の問題を別にしても)。勿論、伝統的に重要ないわゆる「SysVシグナル」「BSDシグナル」についてもしっかりと解説しているが、もはや「
*BSD で kqueue・kevent を使ってみよう select() の欠点 select() は複数のディスクリプタをポーリングできる便利なシステムコールです。 しかしパフォーマンスはよくありません。理由は以下の通りです。 ユーザプロセスは、監視対象のディスクリプタ一覧をユーザ領域からカーネル領域にコピーする必要がある。 カーネルがポーリング結果をユーザ領域に返す際もコピーしなければならない。 カーネルは、ポーリング対象のディスクリプタを知るために、配列の全要素を調べなければならない。 ユーザプロセスも、入出力可能なディスクリプタを知るために、配列の全要素を調べなければならない。 上記の作業は、select() を発行するたびに毎回行わなければならない。 select() のパフォーマンスが悪いことは広く知られていたので、 各 OS でいろいろな取り組みが行われてきました。 Sol
今回は筆者のEmacs(と言ってもMeadow2なんですが)のPerlに関する設定を一部抜粋してみようと思います。 (autoload 'cperl-mode "cperl-mode" nil t) ;; cperl-modeを使ってます。 (add-to-list 'interpreter-mode-alist '("perl" . cperl-mode)) ;; shebang(#!…)に"perl"があったらcperl-mode (add-to-list 'auto-mode-alist '("\\.\\(p[lm]\\|f?cgi\\|t\\)$" . cperl-mode)) ;; こういう拡張子もcperl-mode (defalias 'perl-mode 'cperl-mode) ;; perl-modeもcperl-mode ;; 色が気に入らないので直してみたり (se
telepathy-mission-control: update to version 5.16.4, explicitly …
Would you be able to survive one full day without using the X server? Linux offers us a wide assortment of CLI based tools which use curses and/or framebuffer for functional user interfaces. There is no reason why you shouldn’t be able look up stuff online, read your email, look at pictures, watch movies and listen to music as you are trying to configure X. I was inspired by this post on Motho ke
bonar note - vimで効率的にコードを書くための小技 を読んで、ビジュアルブロックを折り畳むコマンド zf なんてあるのをはじめて知ってね今日はこれを覚えようと思いました。そうすると前にどこかで見たような気がするけどわからないままになっていた、検索している単語をyankするコマンドを今日こそ見つけ出したくなって探していたら本家 vim.org に tips : vim online というtips集があるではありませんか。vim pluginと同じようにそれぞれのtipがレイティングできるようになっていて(Life Changing!)さらにコメントまでつけることができます。 このtipsページ、残念ながらRSSはないのですが、とうぜん今日見つけた自分が思うんだから前から知っているひともそう思っているわけで Dapper の Firefox extension で、みているペー
● [Books][UNIX][Thoughts] UNIX システムプログラミング三大名著と図書館 2007年版の「UNIX システムプログラミング・お勧めの書」として、以下の3冊を紹介してきました。 UNIX 誕生から30年以上経過した現在でも、3冊の発行は続けられていますが、残念なことに三大名著を揃える国内の図書館は数少ないようです。3冊の特徴を簡単に振り返った後に、この状況を確認してみましょう。 Understanding Unix/Linux Programming UNIX システムプログラミングの入門書として、本書を越える書籍は現時点でこの世に存在しないと、私は断言致します。ハーバード大学での授業をもとに練り上げられた本書の内容は、群を抜いた独創性に満ちており、ある意味 Stevens 氏の APUE を凌駕しています。 説明図、題材として使われるプログラム、すべてに工夫が凝
最近、会社でシェルの操作方法について教えているのだが、 pgrep / pkill / skill / pidof といった 便利なプロセス操作系コマンドを知らない人が実に多い。 プロセスを殺すというのは、よくある作業なので 今回はコレについて書いてみる。 たとえば、これらのコマンドを知らない人が、 指定した名前のプロセスを kill する手順はだいたい 以下のようなものになることだろう。 $ ps aux | grep プロセス名 | grep -v 'grep' # コマンドの出力結果から pid を目で確認 12345 ... .. hoge .. .. $ kill 12345 この作業は非常に面倒で退屈だ。 もし殺さなければならないプロセスがたくさんあったときは どうするのだろうか。 おまけに、grep コマンド自身が候補に含まれてしまう事があるのだが、 grep -v grep
A dynamically tiling X11 window manager that is written and configured in Haskell. In a normal WM, you spend half your time aligning and searching for windows. XMonad makes work easier, by automating this. What’s new? xmonad and xmonad-contrib 0.18.0 are available. New versions of xmonad and xmonad-contrib have been released. Check out our download page for instructions on where to get them. (2024
UNIXのバックグラウンド Unix に初めて接する方々が、それを理解し、応用し、そのマニュアルをご覧にな るときの手助けとして、システム全体の背景を解説してみようと思います。 「商品」と「拡張」部分を割り引きした unix は驚くほど効率的で居心地の良いシ ステムですが、派手でもなく、素人受けするものでもなく、馴れるに従って離れ難 くなり、見た瞬間でなく、後になって深い感動を覚えるといったところがあります。 よく言われているような、ソフトウェア開発といった狭い領域だけでなく、個人か ら組織、日常業務から非定型業務、事務、技術、研究開発、出版、自動化等、あら ゆる分野で、その威力を発揮します。 日頃、目につくことは少ないのですが、実際、日本でも、一部上場会社から、家族 経営の商店、個人の自宅と、幅広いところで、汎用機やオフィスコンピュータ、そ の他のシステムをはるかにしのぐ活躍をしています
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く