タグ

linuxとUnixに関するyuroyoroのブックマーク (10)

  • パイプとフィルタ ~ソフトウェア工学における有用なアーキテクチャ~ | POSTD

    パイプライン は、最近のソフトウェアエンジニアリングにおいて、非常に便利な(そして驚くほど活用されていない)アーキテクチャパターンです。ソフトウェアでデータの流れを制御するためにパイプとフィルタを用いる考え方は、最初のUNIXシェルが作られた1970年代からあります。もしターミナルエミュレータでパイプ” | ”を使ったことがあるなら、”パイプとフィルタ”を活用できていることになります。以下の例を見てみましょう。 cat /usr/share/dict/words | # Read in the system's dictionary. grep purple | # Find words containing 'purple' awk '{print length($1), $1}' | # Count the letters in each word sort -n | # Sort l

    パイプとフィルタ ~ソフトウェア工学における有用なアーキテクチャ~ | POSTD
  • closeがEINTRを返したらどうするべきか

    中村 実 @nminoru_jp @kosaki55tea どうなんでしょう。close()がEINTRで返ってきた場合にリトライをかけないとリークが発生することがあります。FUSEでできた変なネットワークファイルシステムを使っている場合なんて特に。 鯉江 @koie @nminoru_jp closeがエラーになったら異常系に飛ばしてました。EINTRリトライは考えてなかったっす。異常系処理でcloseするときもEINTRリトライはしないといけないなぁ。やばいなぁ。 Tanaka Akira @tanaka_akr @nminoru_jp @kosaki55tea close(fd) が失敗した時に fd が生きていることがあるのですか。以前 NFS の quota でテストして close が失敗したときには fd は死んでいたので、close が失敗したらどうしようもないと思ってまし

    closeがEINTRを返したらどうするべきか
  • プロセス・パイプ・リダイレクション・ファイルディスクリプタの実体を見に行く - ザリガニが見ていた...。

    プロセス置き換えとか、名前付きパイプとか、とても便利な機能なのだけど、その仕組みはどうなっているのだろう?断片的な知識ばかりでは、その核心にはなかなか辿り着けない。サンプルコードの真似はできるけど、それ以上の発想はできない...。もっと根的なところからちゃんと理解しておかないと、いつまでたってもコマンドの使い方の質が理解できないと感じた。プロセスとは何か?パイプとは何か?リダイレクションとは何か?ファイルディスクリプタとは何か?可能な限りその質を探ってみようと思う。 UNIXのプロセス UNIXでは、複数のユーザーがログインした状態で、同時に複数の処理を依頼される状況が多々ある。 ところが、どんなに高性能なCPUであっても、ある瞬間に処理できるのはたった1つの処理だけである。 そんな時OSは、それぞれの処理に必要なメモリ領域を割り当てて、CPUをタイミングよく切り替えながら同時並行的

    プロセス・パイプ・リダイレクション・ファイルディスクリプタの実体を見に行く - ザリガニが見ていた...。
  • GitHub - Shinpeim/process-book: Unix系システムのプロセスについて日本語で解説しています

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - Shinpeim/process-book: Unix系システムのプロセスについて日本語で解説しています
  • Unixコマンド生活実践 — ありえるえりあ

    ディレクトリ操作 lsの使うオプション ...-l,-a,-F,-i # ディレクトリをすべて消す場合(先頭の\は後述) \rm -rf ディレクトリ名 # 全部コピー cp -ar srcdir destdir ...-aはGNU lsのオプション # cp -aがどこまで信用できるか不明、あるいはGNU lsがない時に、使うテクニック tar cf - srcdir | (cd /destdir; tar xf -) ファイル操作(リンク) ハードリンク vs. シンボリックリンク ln #ハードリンク ...異なるファイル名で同一のi-nodeを共有(ls -iで確認可能) ln -s #シンボリックリンク ...ポインタ 注意点 ハードリンクは対称(ln a bでもファイルaとbに主従関係はない) i-nodeはデバイス(dfで見えるディスクデバイス)で一意なので、デバイスを越えて

  • "make install"したソフトウェアを管理できる超便利ツール「Paco」 - RX-7乗りの適当な日々

    最近、Linuxではaptやyumなど、パッケージ管理ツールで多くのアプリケーションやライブラリが管理されるようになり、普通に利用している限りはソースからコンパイルして"make install"することがほとんどありません。 とはいっても、マイナーなソフトウェアをインストールしたりとか、まだパッケージ管理されていない最新バージョンのものを使いたい場合などは、ソースからコンパイルして"make install"をしたくなる場合も有るかと思います。 しかし、"make install"した場合の最大の欠点は、インストールしたソフトウェアの管理ができないことにあります。そのため、何が入っているのか分からなくなっているとか、アンインストールが出来ない、などのケースが起こりうるわけです。 特にアンインストールする可能性があるソフト(ほとんどのソフトがそうですが・・・)をインストールする場合は、わざ

    "make install"したソフトウェアを管理できる超便利ツール「Paco」 - RX-7乗りの適当な日々
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • 軽快なLinux環境をつくれる、coLinuxのセットアップ手順 - Unix的なアレ

    以前にWindows上でLinuxを走らせる方法として、VMwareで作る、初めてのLAMP環境構築 - UNIX的なアレを紹介しました。 今回もまた、Windows上でLinuxを動かせる、coLinuxというものを紹介します。 VMwarePlayerに比べたメリットは動作が早いという点です。 coLinuxのインストール手順を記載しているサイトはすでにありますが、若干経験者向けな内容になっていますので、ここでは出来るだけ噛み砕いて書いてみます。 それでもVMwarePlayerよりも設定が若干難しいですが、頑張っていきましょう! 必要なモノをダウンロードする。 まず、必要なものは以下の2つです。 coLinux体 FileSystemImage (今回はDebianを使用します) swapImage(swap用のイメージです) coLinux体ダウンロード それではまずcoLin

    軽快なLinux環境をつくれる、coLinuxのセットアップ手順 - Unix的なアレ
  • VMwareで作る、初めてのLAMP環境構築 - Unix的なアレ

    VMwareをご存知でしょうか?ここ数年で注目されている、仮想化という技術の一種になります。 VMware自体はヴイエムウェア株式会社という会社で作られている製品なのですが、一部のモデルには無償で利用できるものが容易されています。 今回はその中でも最も手軽に利用して、Linux環境をつくることができるVMware Playerを紹介したいと思います。 仮想化って何? 物凄く単純に言えば、1つのマシン上で複数のOSを走らせることができる技術です。 VMwareにおいては、Windows上でLinux環境を作ることも可能です。 今回はWindows XP上にUbuntu Linuxのイメージをつかって設定をする手順を紹介したいと思います。 必要なものをダウンロード! 意外と面倒なのがダウンロードです。簡単にダウンロードできないのでまずはダウンロードの手順から紹介します。 下記のものをダウンロー

    VMwareで作る、初めてのLAMP環境構築 - Unix的なアレ
  • inetd の仕組みを見てみる - naoyaのはてなダイアリー

    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') ); と標

    inetd の仕組みを見てみる - naoyaのはてなダイアリー
  • 1