タグ

UNIXに関するkosakiのブックマーク (12)

  • unix のシグナル処理あれこれ - Emacs ひきこもり生活

    Linux で signal + マルチスレッド、というとハンドラであれこれしようとすると、これはもう悪夢のように大変でひとつ signal 処理用スレッドを用意するのが定石のようです。 さてはて、そんなことで FreeBSD もそういうコードを書いて fork した子供を回収してやろうとしたところ、全く動いていません… orz これはどうしたんだろう??と調べた結果 空の signal handler を signal でしこんでやると動きだすことがわかりました。 はてさて、これはカーネルにどんな実装の差があるのでしょうか? そして、他のBSDではどうなっているのでしょうか? これが今回の疑問です。 実験 ひとまずこんなコードを使って引数に 0-3 を渡して実験します。中身はこんな感じのプログラムです。 #include <stdio.h> #include <signal.h> #in

    unix のシグナル処理あれこれ - Emacs ひきこもり生活
  • これはすごい歴史の話

    odokemono comments on Anyone know why /var and /etc weren't named something like /etc and /cfg? このodokemonoという人のコメントが面白かった。特に二つの話が面白かったので、翻訳してみる。 これから話す話は、知識というよりも経験というべきだろう。私は、エンジニアではないし、特別にそういった訓練を受けていたわけでもない。私はベテランのシステム管理者だ。私はいくつかの記事を書き、またシステム管理者の教育もしている。私は80年代前半から、ほとんどUnix一でやってきた。 Unixのすばらしいところは、25年前に書いた私のコードが、いまだに修正なしでコンパイルでき、しかも動くということだ。 それでは、「すばらしい話」のいくつかをしようと思う。 私は昔、顧客である大手の弁護士事務所の元に出向き、週

    kosaki
    kosaki 2010/07/20
    私は"Hello World!"プログラムを、たったの1.5分でコンパイルでき、冬でも部屋を暖房する必要がなくなった。
  • なぜ,/var や /etc が /etc や /cfg というディレクトリ名ではないのか? - NO!と言えるようになりたい

    Unixを使っていると,/usr が全然ユーザー用じゃなくどう見てもシステムのための物だったり,/etc が事実上設定ファイル置き場となっていたり,/var がログファイル置き場となっていたりと,名が体を現していなくて奇妙な感覚を覚える.もっと分かりやすい名前の付け方があったんじゃないかと,Unixユーザーならば誰もが思うはずだが,これに対する解答がredditに投稿されており,その内容が非常に面白かったので,軽く翻訳してみた. Anyone know why /var and /etc weren't named something like /etc and /cfg? http://ja.reddit.com/r/linux/comments/cpisy/anyone_know_why_var_and_etc_werent_named/c0ua3mo 昔々,システム7が使われていてU

    なぜ,/var や /etc が /etc や /cfg というディレクトリ名ではないのか? - NO!と言えるようになりたい
    kosaki
    kosaki 2010/07/20
    /usr が全然ユーザー用じゃなく,/etc が事実上設定ファイル置き場となっており,/var がログファイル置き場となっている,名が体を現していない.
  • What happens when the root does "rm -rf /" ?

    root が "/bin/rm -rf /" をしたらどうなるのか? last modified: Feb 16, 2000 UNIX で root が "/bin/rm -rf /" をした場合の結末として、 以下のようになるという主張を実際に見たり聞いたりしたことがあるのですが、 全て明らかに誤りです。 信じてはいけません。 /bin/rm が消えた時点で、rm のプロセス自体が異常終了する。 (なんでやねん! ...まあ、SVR2, 4.1BSD では /bin/rmdir が消えたら止まると思うけど。) dynamic library が消えた後に rm のプロセスや動作中のコマンドが 異常終了する。 (なんでやねん!) それまで動いていたコマンド(デーモン類)が、 コマンドファイルが消えた後に終了する。 (なんでやねん!) カーネルが unlink(2) された時点で、システムが

  • Kazuho@Cybozu Labs: キャッシュシステムの Thundering Herd 問題

    « MySQL の高速化プチBK | メイン | ウェブサービスのためのMutex - KeyedMutex » 2007年09月26日 キャッシュシステムの Thundering Herd 問題 サーバにおける Thundering Herd 問題注1は良く知られていると思いますが、類似の現象はキャッシュシステムでも発生することがあります注2。 通常、キャッシュに格納されるデータは、それぞれ単一の生存時間をもっています。問題は、頻繁にアクセスされるキャッシュデータがエクスパイアした際に発生します。データがエクスパイヤした瞬間から、並行に走る複数のアプリケーションロジックがミスヒットを検知し、いずれかのプロセスがキャッシュデータを格納するまでの間、同一のリクエストが多数、バックエンドに飛んでしまうのです。 対策としては、以下の2種類の手段があります。 バックエンドへの同一リクエストを束ねる

    kosaki
    kosaki 2007/09/26
  • shell のちょっとしたテクニック - odz buffer

    後輩が cat README | tr ' ' '\n' | sort | uniq -c | sort -nr | head てなテクニックを見て、びっくりしたみたいな話をしていたのだが、こういうパイプラインを利用するテクニックを学んでいないのは色々損な気がする。 ていうか、サーバで丸一日以上かかるような処理を実行するのもしょっちゅうなのに、GNU screen も nohup も知らないってのはいろいろ支障があるような気もするのだが、だれも教えないものかなぁ。 ということで、bash or zsh のちょっとしたテクニックとか*1。リダイレクトとかパイプラインは略。 連続実行 単純に連続実行。 % foo; barfoo が正常終了したときだけ bar を実行 % foo && barfoo が正常終了しなかったときだけ bar を実行 % foo || bar&&、||は来は論理演

    shell のちょっとしたテクニック - odz buffer
  • なぜ vi のカーソル移動は hjkl に割り当てられたか - swk's log

    * なぜ vi のカーソル移動は hjkl に割り当てられたか [tech] 246 users Bill Joy が使っていた ADM-3a という CRT ターミナルのキーボードには、 hjkl のキーにカーソルの矢印が刻印されていた http://www.srs.ne.jp/~north/netdaemon/vi.html この端末は^H、^J、^K、^Lを表示することでカーソルを左下上右に移動できたのです。^H(BACKSPACE)と^J(LINEFEED)はASCIIコードどおりですが、あとの2つは独自の拡張でしょう。 fj.editor.vi: Emacs vs vi 「ホームディレクトリの ~ も実は これ 由来なんじゃないの?」 http://www.bsddiary.net/d/200406.html#22 やるな ADM-3a. http://www.tentacle.

  • Shell Script Reference & Tips

    This domain may be for sale!

  • シェルスクリプト(Bash)

    シェルスクリプトとはコマンドやシェルの組み込みコマンドなどをファイルに記述し、実行できるようにしたものである。 またプログラムの制御構造なども使用でき、柔軟な処理が可能であり、/etc/rc.d/initd/ディレクトリ内の起動スクリプトなどはシェルスクリプトである。 シェルスクリプトを実行するには実行権限および読み込み権限が必要です。 またシェルスクリプトファイルの1行目にはシェルスクリプトを実行するシェルのパスを記述します。 スクリプトファイル内でも、シェル変数を定義することができる。またその変数を参照する場合は変数名の前に" $ "を 付けることで参照できる。変数名に使用できる文字は英数字および" _ "(アンダーバー)であり先頭は英字を使用しなくてはならない。

  • UNIXTips - [[ProgramingTips]] [[WindowsTips]] EmacsTips

    kosaki
    kosaki 2006/04/17
    ushio殿TIPS
  • UNIXの落とし穴

    UNIXを使っていて気づいた細かい不満を挙げます。他の人の意見も 混ざっています。もっと UNIX が嫌いになりたい人は Unix Hater's Handbook をどうぞ。UNIXをなんとかしたい人は Let's Make Unix Not Suck をどうぞ。 目次 設定ファイル地獄 変な文法 流儀の違い 貧乏くささ プログラミング 初心者の敵 X Window System その他 設定ファイル地獄 山のような設定ファイル ソフトウェアごとに異なる流儀を覚えるのむちゃくちゃ面倒。 まさに、しょうもない 雑多なノウハウ の山。 procmail の設定ファイル 変態的。 :0 ってなんだ? BIND の設定ファイル ドメイン名を書くレコードの最後に . をつけ忘れる。 シェルごとの .*rc .*profile .*login などの挙動の違い わけわからん。 /etc/sh

  • [ThinkIT] 第2回:ファイルシステムを比較してみる (1/3)

    ファイルシステムとは、ハードディスクなどの記憶装置にデータを記録する方式です。それぞれのOSでファイルシステムは異なり、それぞれに特徴があります。また、信頼性やパフォーマンスにも影響しますので、ここでじっくり比較してみましょう。 Solarisでのデフォルトファイルシステムは「UFS」(UNIX File System)です。これは4.3BSDで実装されたファイルシステムであり、ここでもSolarisがBSDの血を受け継いでいることがわかります。UFSについては後述の「BSDのファイルシステム」で説明しますので、ここではSolaris 10で採用される(アップデートリリースで対応)新しい「Solaris ZFS」(Zetta Bytes File System)について紹介しましょう。 ZFSの特徴としてまず挙げられるのが、128bitアドレッシングにより事実上無限のディスク容量を扱えるこ

  • 1