タグ

unixに関するgfxのブックマーク (20)

  • Two great signals: SIGSTOP and SIGCONT

    gfx
    gfx 2013/10/15
  • 様々なUNIX環境のecho.cの比較

    UNIX V5, OpenBSD, Plan 9, FreeBSD, and GNU coreutils implementations of echo.c UNIX Fifth Editionのecho.cは、以下のような実装になっている。 main(argc, argv) int argc; char *argv[]; { int i; argc--; for(i=1; i<=argc; i++) printf("%s%c", argv[i], i==argc? '\n': ' '); } いかにも昔のC言語らしいコードだ。ヘッダーの#includeはなく、関数の戻り値の型も指定されない。仮引数の型も、今となっては物珍しいだろうが後書きだ。 OpenBSDのコードは以下の通り。 /* $OpenBSD: echo.c,v 1.7 2009/10/27 23:59:21 deraadt

    gfx
    gfx 2013/04/10
  • コンテキストスイッチの回数を調べる - Shohei Yoshida's Diary

    Starletのヘッダとボディを合わせて出力する閾値を変更してみる - Hateburo: kazeburo hatenablog この手の記事の話でコンテキストスイッチについて出てくることが あるけど、あまり数値が併記されているものがないように思えます。 その手のプロの人が言っているので、確かな情報だと思うのですが、 やはり数字を一緒に載せていただけるとより真実味が増すと思います。 プロセスのコンテキストスイッチ回数の確認方法(Linux) procfsから確認することができます % cat /proc/{目的のプロセスのPID}/status | grep ctxt voluntary_ctxt_switches: 145031 nonvoluntary_ctxt_switches: 13452自発的(voluntary)なコンテキストスイッチは、sched_yieldを呼び出した場合

    コンテキストスイッチの回数を調べる - Shohei Yoshida's Diary
    gfx
    gfx 2013/03/15
    *_ctxt_switches
  • Re: UNIX Command Idioms - (ひ)メモ

    Re: [twitter:@riywo]'s UNIX Command Idioms ps auxwwwwwww number of "w" depends on my mood in that day :D ps auxwwwwwwwww -L netstat -tna / -una / -tnl / -tnap tar xvf tar zxvf / jxvf / Jxvf are boring trailing slash in rsync rsync -av file [file] HOST:dir/ rsync -av dir/ HOST:dir/ tcpdump -i any -nlx strace -s 100 -fFTttt diff -u /path/to/file <(ssh host cat /path/to/file) see also: http://d.haten

    Re: UNIX Command Idioms - (ひ)メモ
    gfx
    gfx 2013/02/28
  • 「はじめてのOSコードリーディング」という本を出版します - やる気のないブログ(A boring diary)

    はじめに 「はじめてのOSコードリーディング 〜UNIX V6で学ぶカーネルのしくみ〜」というを2013年1月8日に技術評論社から出版します。 はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus) 作者: 青柳隆宏出版社/メーカー: 技術評論社発売日: 2013/01/09メディア: 単行(ソフトカバー)購入: 56人 クリック: 1,959回この商品を含むブログ (29件) を見る このエントリでは、そのの紹介を行います。もし興味を持ったならば、書店などで手に取っていただけると幸いです。 追記 追記 2013/08/17 PDP11エミュレータをJavaScriptで実装しました。WebBrowser(Crhome)上でUNIX V6の動作確認を行うことができます。デバッグ機能もありますので、読者の方はコードリーディ

    「はじめてのOSコードリーディング」という本を出版します - やる気のないブログ(A boring diary)
  • なぜ,/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!と言えるようになりたい
    gfx
    gfx 2012/07/26
  • http://herpolhode.com/rob/ugly.pdf

    gfx
    gfx 2011/12/17
    "Unix sucks" by Rob Pike
  • The Open Group Base Specifications Issue 6

    <body> <h2>Frame Alert</h2> <p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.<br> Link to<a href="mindex.html">Non-frame version.</a></p> </body>

    gfx
    gfx 2011/07/25
  • [base] Index of /head

    GH Actions: Use pre-installed clang packages Also fix the run by setting up the…

  • unix - permissionあれこれ : 404 Blog Not Found

    2007年03月03日06:30 カテゴリTips unix - permissionあれこれ う〜ん。これ、理解があやふやだと危ないのでまとめとっか。 ウノウラボ Unoh Labs: ウェブ開発の共同作業でパーミッションを有効活用する 複数人でウェブコンテンツを作成運用管理する場合,特に番サーバーのファイルのパーミッションで悩んでいる人をよく見かけます.あまりパーミッションを積極的に有効活用できない人は挙句に誰でも読み書きできる(いわゆる0666や0777)ザルにすることが多いでしょう.いや待ってください.もうちょっと丁寧に設定してみませんか? というお話です. 早見表 by JavaScript Readable Writable Executable SUID/SGID User r w x s Group r w x s Others r w x t Octal: ls -l

    unix - permissionあれこれ : 404 Blog Not Found
    gfx
    gfx 2011/05/15
    SUID/SGID/Sticky Bitについて
  • ファイル記述子をUnixドメインソケット経由で渡す - bkブログ

    ファイル記述子をUnixドメインソケット経由で渡す Unix 系の多くの OSには、ファイル記述子を別のプロセスに Unix ドメインソケット経由で渡す機能があります。一見、何のために使うのかよくわからない機能ですが、 glibc の nscd はこれをうまく使っています。 nscd (name service caching daemon) は glibc 内で行われる名前関連の問い合わせをキャッシュするサーバです。NIS や LDAP などを用いてネットワークベースでユーザ管理を行っている場合、 getpwuid() などの関数はユーザ名の取得にネットワークアクセスを必要としますが、 nscd を立ち上げておけば、二度目からの同じ問い合わせはキャッシュから得られます。 nscd を立ち上げている GNU/Linux システムでは、キャッシュファイルが /var/db/nscd 以下に作

  • Unix/dev/null¤ÎÌò³ä - Pocketstudio.jp Linux Wiki

    /dev/null † ¡¡¡Ú /dev/null ¡Û¤ÏÆüì¤Ê¥Õ¥¡¥¤¥ë¡£¥¹¥Ú¥·¥ã¥ë¡¦¥Õ¥¡¥¤¥ë¤È¸Æ¤Ð¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¥Ì¥ë(NULL)¡¦¥Ç¥Ð¥¤¥¹¤Ê¤Î¤Ç ls ¤Ç¥Õ¥¡¥¤¥ë¤ò¤ß¤ë¤È¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Îº¸Â¦¤Ë¥Ç¥Ð¥¤¥¹¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹ c ¤¬¤Ä¤¤¤Æ¤¤¤Þ¤¹¡£ ¡¡°ÕÌ£¤Ï¡Ö¥Ç¡¼¥¿¤ÎÁݤ­¤À¤á¡×¡£É¸½à½ÐÎϤ䥨¥é¡¼¤ò /dev/null ¤Ë¥À¥¤¥ì¥¯¥È¤µ¤»¤Æ¥×¥í¥°¥é¥à¼Â¹Ô»þ¤Ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤµ¤»¤Ê¤¤»ö¤Ë»È¤¦¤³¤È¤¬Â¿¤¤¡£ $ ls -l /dev/null crw-rw-rw- 1 root root 1, 3 6·î 1

    gfx
    gfx 2011/04/17
  • 第6回 UNIXプログラミングの勘所(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはJapanizeやText::MicroTemplateなどで有名な奥一穂さんで、テーマはUNIXプログラミングです。 はじめに 「正しいプログラム」を書くために必要な知識とはなんでしょうか。テストが正しく実行されることは、正しいプログラムであるための必要条件に過ぎません。プログラミングにおいてはプログラミング言語だけでなく、OSの動作やデータベース、ネットワークプロトコルなど、さまざまな知識が必要になります。 PerlはもともとUNIX系のOS(LinuxやFreeBSD、Mac OS XなどのOSを稿では以下UNIXと総称します)の上で処理を行うためのスクリプト言語として開発され、今日でもPerlプログラムの多くはUNIX上で実行されています。しかし、「⁠Perlでプログラミング」と言った場合はともすれば

    第6回 UNIXプログラミングの勘所(1) | gihyo.jp
    gfx
    gfx 2011/04/01
  • ファイルに書かれたら irc とかネットに通知するとかそういうデーモンを作るときは mkfifo するといいんじゃないか - kazuhoのメモ置き場

    デーモン側をこんな感じで書きます。 use Errno qw(EEXIST); use Fcntl qw(S_IFIFO); use POSIX qw(mkfifo); my $FIFO_NAME = "/tmp/my_messenger.fifo"; if (mkfifo($FIFO_NAME, 0666)) { # ok } elsif ($! == EEXIST) { die "$FIFO_NAME is not a fifo!" unless +(stat($FIFO_NAME) & !S_IFIFO) != 0; } else { die "failed to create fifo:$FIFO_NAME, $!"; } while (1) { open my $fh, '<', $FIFO_NAME or die "failed to open fifo:$FIFO_NAME,

    ファイルに書かれたら irc とかネットに通知するとかそういうデーモンを作るときは mkfifo するといいんじゃないか - kazuhoのメモ置き場
    gfx
    gfx 2011/03/03
  • (新人向け) Unixオペレーションの注意点 - Magical Diary

    主に新人向けとして、Unixサーバで作業をする際の注意点を書いておく。 ここに書いてある内容は絶対的なものではないし、会社や現場ごとにルールがあるので、適宜ルールに合わせて実践すれば良い。 ログを取れ 何をやったか、何をやらなかったか、というエビデンスのためにログは必ず残しておく。SSHクライアントによっては毎回自動的にログ取得する設定が可能なので、設定しておくと良いだろう。 作業後に問題が発生した場合に作業内容を確認するためにも使うため、必ずログは取得しておくこと。 (追記) 当たり前だが、コマンドとその出力をペアで取ることに意味がある。 set -x (set verbose) しろ ログを取得しても、コマンドラインを編集した際には以下のように非常に見づらいものとなってしまう。(がんばれば解析することは出来るが…) ESC[0mESC[27mESC[24mESC[JESC[1myasu

    (新人向け) Unixオペレーションの注意点 - Magical Diary
    gfx
    gfx 2011/02/14
  • Kazuho@Cybozu Labs: My Slides at YAPC::Asia 2010 (Writing Prefork Servers / Workers, Unix Programming with Perl)

    The slides I used for my presentations at YAPC::Asia 2010 are now available from the links below. Thank you to those who came, and JPA and the volunteer stuff for running the event. I hope you enjoyed (will enjoy) my slides!

  • 移転しました

    移転しました

  • memologue - UNIX上でのC++ソフトウェア設計の定石 (2)

    鉄則2: シグナルハンドラで行ってよい処理を知ろう sigaction関数で登録したシグナルハンドラで行ってよい処理は非常に限定されている 次の3つの処理だけが許されている 自動変数の操作 “volatile sig_atomic_t” 型の大域変数の操作 「非同期シグナルセーフ」関数の呼び出し これ以外の処理を記述しないこと! 説明: シグナル受信時に何らかの処理を行うためには、シグナルハンドラと呼ばれる関数を用意し、それをsigaction関数でシグナル名と紐付けておけばOKです。しかし、シグナルハンドラ内で行ってよい処理は、上記の通り非常に限定されています。これを把握しないまま奔放なコードを書くと次のような現象が起き得ます: 問題1: プログラムがデッドロックする危険がある タイミングに依存する、再現困難なバグの原因となる デッドロックの発生が典型例だが、それ以外にも関数の戻り値不正

    memologue - UNIX上でのC++ソフトウェア設計の定石 (2)
  • UNIX哲学 - Wikipedia

    この項目「UNIX哲学」は途中まで翻訳されたものです。(原文:en:Unix_philosophy (文に英文が移されています)) 翻訳作業に協力して下さる方を求めています。ノートページや履歴、翻訳のガイドラインも参照してください。要約欄への翻訳情報の記入をお忘れなく。(2020年6月) UNIX哲学(ユニックスてつがく、英: The UNIX Philosophy)とは、ソフトウェア開発の文化的な規範と哲学のまとまりであり、UNIX OS開発者たちの経験に基づくものとされている。その内容は発言者によって異なり、以下の点に留意が必要である: UNIXが開発された1971年から10年以上後の発言が大半である 発言者にはUNIX開発と関わり合いが希薄な人物も含まれている UNIXを生み出したケン・トンプソンやデニス・リッチーは"哲学"(philosophy)という表現をしていない 哲学に反し

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

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

    gfx
    gfx 2010/01/22
  • 1