タグ

unixに関するfn7のブックマーク (13)

  • POSIX close(2) is broken

    In the world of POSIX, everything is a file. Well, sort of. There's sockets and pipes, which behave rather like files except that you can't seek on them and they have some extra metadata. And there's devices, where sometimes you can only read and write appropriately-sized blocks, not individual bytes. And then there's terminals, which are all sorts of weird. But in all these cases, you've got a fi

  • Geekなぺーじ : いいから殺せ。後はこっちでなんとかするから

    IT業界って怖いですね~(棒読み) 何でそうなった? そもそもの発端は、私が現在執筆中のLinuxネットワークプログラミング書に書いているコラムのための質問でした。 Wiresharkやtcpdumpを利用したパケットキャプチャによる通信プログラムのデバッグを解説する際にプロミスキャスモードとは何かという話を書いていたのですが、その最後にちょっとしたコラムを書くためのブレストとしてTwitterで質問をしました。 で、結局出来上がった原稿は以下のような感じです。 Twitterでコラムの内容を見たいと発言されている方がいらしたので、出版前ですが晒してしまいます。 コラム:ぁゃιぃ UNIX用語 (☆ 「あやしい」の部分は、xa xya イオタ xi です。) プロミスキャスモードを「無差別モード」と訳す場合が多いのですが、この「Promiscuos」という単語は性的な意味を含む英単語なので

  • 第九研究室だより:書きたいだけです

    2009年12月17日 書きたいだけです 実は、先日のVIOPS04ワークショップで、大輝くんと門林さんとの対談や、IntelVT、SkipGraphのセッションに妙に煽られてしまい、コンパイラとかインタプリタとかOSとか、無性にそーゆーのを書きたい衝動に駆られました。プログラミングを始めた頃、誰もが必ず一度は書いてみようと挑戦するアレです。とは言っても、この歳になると中々集中して書ける時間も作れないので、なんの脈絡も無いですが、業務の息抜き代わりにB-Shell(ボーンシェル)で、MapReduceでも書いてみようかなぁーーと。 なぜ、B-Shellかというと、私が20年くらい前にこの仕事に就いた頃、とあるUNIX関係の雑誌記事でC-Shellで出来る事はたいていB-Shellでも出来るが、その逆は必ずしも成り立たないという一文を見た事があるからです。以来私はShellでスクリプトを書く

    fn7
    fn7 2009/12/17
    かっこいい
  • 本日のtip その2:アーカイブにゴミや見せたくないファイルを入れない方法 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    ちょっとしたtipでも「ヘーッ」と思う人もいるようなので書いてみます、その2。Unix/Linux/Cygwin/MSYSとかでの話、GNU tarね。 tarは単一のファイルをアーカイブすることもできますが、普通はディレクトリを丸ごとアーカイブするでしょう。アーカイブに入れたくないファイルがあるとき、tarの--exclude=pattern、--exclude-from=file オプションを利用できます。patternはファイル名パターンで、シェルのワイルカード'?', '*'が使えます(ブレイス'{'と'}'は、期待通りには機能しませんから事実上使えません)。 例えば、 $ tar --exclude='*.tmp' -cvf ../archive.tar . とすれば、*.tmp という名前のフィイルはアーカイブに入りません。--exclude='*.tmp' の代わりに --e

    本日のtip その2:アーカイブにゴミや見せたくないファイルを入れない方法 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    fn7
    fn7 2008/12/01
    tarの便利な使い方
  • Part5 Mac OS XのUNIXな使い方:ITpro

    最近,特にオープンソース関係の集まりなどに顔を出すと,Windowsマシンではなく,MacMacintosh)を持っている人の割合がかなり高くなっていることに気づきます。Macで動くOSといえば,Mac OS Xです。Mac OS Xはいろいろな顔を持ったOSです。まず,Mac独自のアプリケーション実行環境として「Carbon」と「Cocoa」を搭載しています(図1)。Microsoft OfficeやAdobe Photoshopといった市販のMac OS X用ソフトの多くはこの上で動作します。 Part1「今さら聞けないOSの疑問」,Part2「これがWindows Vistaだ!」,Part3 「Windows XP Tips 25 」,Part4「仮想マシンの仕組みを理解する」に続いて,Part5では,Mac OS X(2006年9月時点の「Mac OS X v10.4 (Tig

    Part5 Mac OS XのUNIXな使い方:ITpro
    fn7
    fn7 2008/06/26
  • vimで効率的にコードを書くための小技 - bonar note

    vimは使いこなしている人は超人のように使いこなしているのですが、「たまにconfファイルいじる時だけ使うよ。まあ、普段はemacsだけどね」という人は、vi時代の機能のみ使っているのをたまに見かけます。 そこで、通ぶって恐縮なのですが、僕が普段vimを使っていてとっても便利で効率が上がると思う操作を紹介したいと思います。また、僕自身が Mac OS X な環境なので、「外部コマンドとの連携」などでWindowsだと再現できないものがあるかもしれません。ごめんなさい。 用語の使い方や理解が間違っている部分があるかもしれませんがその場合はご指摘いただければと思います。あと、「これ抜かしちゃ駄目でしょ!」みたいなのがあればアドバイスお願いします〜。 それでは、 [あとで読む] vimの基操作 (知っていると思うので省略) 超概略 挿入モードと編集モード キー操作 内容 i 挿入モード突入(文

    vimで効率的にコードを書くための小技 - bonar note
    fn7
    fn7 2007/05/09
    ん、知っておくと便利か
  • ncある限りぼくはどこまででもいけるッ! - (ひ)メモ

    多段SSHの話。 2008-05-02追記 ncの-w secオプションで、一定時間通信がなければncが終了するようにしました。このオプションを指定しないと、sshコネクションを切った後でもncのプロセスが残留してしまいます。 2010-03-08 OpenSSH 5.4以降のnetcat mode (ssh -W host:port ...) を使えば、ncコマンドは不要かも。 2010-11-08 zshでNo such file or directoryと言われるのは、これが原因かもhttps://bugzilla.mindrot.org/show_bug.cgi?id=1494 正攻法でこたつにアクセスするには下図のようなSSHアクセスを繰り返さなければならない、といった状況があるとする。 uchi ----> otonari otonari ----> genkan genkan

    ncある限りぼくはどこまででもいけるッ! - (ひ)メモ
  • ウノウラボ Unoh Labs: UNIXデーモンを作ろう

    20070405コードレビュー posted by (C)フォト蔵 尾藤正人です 先日ウノウの勉強会でUNIXデーモンの作り方についてプレゼンしました。 UNIXのデーモンの仕組みはWebサービスの開発にあたって直接関係の深いトピックではないかもしれませんが、知っておいて損はないと思います。 発表資料と動画を公開しますので、よかったらご覧下さい。 普段は気にしないUNIXデーモンが裏で何をやってるのか、少しでも身近に感じていただければと思います。 発表資料の公開にはちまたで話題のScribdを使ってみました。 プレゼン資料はKeynoteで作ったのですが、PowerPoint形式に変換してアップロードする簡単にできました。 デモ用に実際に動く簡単なデーモンプログラム ccho(シコー) を作成しました。 ccho は前々回の勉強会で行ったGnu Autotoolsで作った bat プログラ

    fn7
    fn7 2007/04/11
    探しても、あまり無いんだよね。こういうの
  • xargsコマンドを使って指定したコマンドを並列実行させる - 技術メモ帳

    あまり知られていないが、GNUのxargsコマンドには、 プロセスの最大数を設定できるオプションというのが用意されている。 コレを使って、プロセスを並列実行させてみよう。 xargs --max-procs=MAX-PROCS -P MAX-PROCS command MAX-PROCSに数字を指定すると、 最大で、その数だけ command プロセスを生成する。 デフォルトは、1プロセスだけになっている。 いくつか例を交えて説明する。 サンプルとして、以下のようにURLが行ごとに記述されたファイルを元に curlをxargsで並列実行して、HTMLデータを取得してみよう。 $ cat ./url_list.txt http://www.google.co.jp/ http://www.yahoo.co.jp/ http://b.hatena.ne.jp/ まず、普通にxargsを使ってc

  • Make と Makefile の説明

    まだ完成途中です back 注意: このページの内容には、おそらく多くの間違いがあります。 リンクされているので残しておきますが、利用には注意してください。(2008年3月、新山) ここではおもに make の使い方 と Makefile の書き方について 説明しています。じつは make の種類にはいろいろあり、ここでは GNU make (gmake というコマンド名のこともある) を 対象にしています (BSD の pmake でも基的な部分は同じですが、 マクロ定義などは違うところもあるので注意してください)。 わかりにくい箇所とか、まちがってる箇所がある場合はメールください。 Contents make はどんなときに使うか Makefile を作る make の実行 Makefile の文法リファレンス 多段 make について (未完成) Makefile の例 (未完成)

    fn7
    fn7 2006/11/08
    使えるようになりたいけど、いまんとこ必要性ないんだよねー
  • http://rryu.sakura.ne.jp/nisenise-fuhito/category/unix.html

    fn7
    fn7 2006/11/06
    制御端末を持たないプロセスを生成するには、setsidを実行せねばならず、その為には呼びだしたプロセスがプロセスリーダであってはならない。ゆえにダブルフォークする
  • Unix Programming Frequently Asked Questions 日本語訳 - 1 プロセス制御 - 1.6 どうすればゾンビプロセスができることを防ぐことができますか?

    Go to the first, previous, next, last section, table of contents. 1 プロセス制御 1.1 新しいプロセスの生成: fork() 1.1.1 fork()は何をするのですか? #include <sys/types.h> #include <unistd.h> pid_t fork(void); fork()関数は存在しているプロセスから新しいプロセスを生成するために使用さ れます。新しいプロセスを子プロセスといい、すでに存在していたプロセスは親 プロセスといいます。fork()の戻り値をチェックすると、この両者を区別できま す。親プロセスには子プロセスのプロセスIDが返されますが、子プロセスには 0が返されるのです。 ですから、以下の簡単なコードがfork()の使い方の基になります。 pid_t pid; switch

    fn7
    fn7 2006/11/06
    デーモンプロセスに関する知識
  • PC覚え書き | プログラムのデーモン化

    VvZX(qvZX)Afork()VXeR[gpBVXeR[oAovZXmAvZXRs[B ovZXevZXARs[VvZXqvZXBevZXAqvZXfork()lpB evZXAfork()qvZXvZXIDpAqvZX0pBplAevZXqvZXッBlBAqvZXPvOヲB int main(void){ pid_t child // fork()li[ if( !(child=fork()) ){ // child=0qvZX printf("inchildprocess\n"); exit(0); } // evZXqvZXID\ヲ prinft("inparentprocess:childprocessID=%d\n,child); return 0; }

    fn7
    fn7 2006/11/06
    デーモンプロセスの生成に関する知識
  • 1