タグ

linuxに関するkuwato-desuのブックマーク (5)

  • Ctrl+Cとkill -SIGINTの違いからLinuxプロセスグループを理解する | ギークを目指して

    しばらくLinuxネタが続く・・。 近いうちに最近出たJava8ネタを書いてみようと思います。が、もう少しLinuxネタにお付き合いください。 前回はsshdを対象に親プロセスをkillした場合の動作を確認した。 killされたプロセスの子プロセスは孤児プロセスとなり、カーネルによって自動的にinitプロセスの子として扱われる事を説明した。(この動作を「リペアレンティング」と呼ぶ) 今回はこの続き。 Linuxで作業していてCtrl+Cしてプロセスを終了した場合、フォアグラウンドのプロセスやその子プロセスも一緒に終了する。 ということは、子プロセスは孤児として扱われず、リペアレンティングされていないことになる。 今回の記事ではこの振る舞いの違い(リペアレンティングされるか否か)に着目し、kill -SIGINTコマンドとCtrl+Cの違いについて考えていく。 そもそもkillコマンドやCt

    Ctrl+Cとkill -SIGINTの違いからLinuxプロセスグループを理解する | ギークを目指して
  • ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改

    ディレクトリの中にある大量のファイルを高速に読み込む方法が知りたかったので、実験してみた。想定しているシチュエーションは、一つ一つのファイルは数KB程度だが数が多い、という場合である。適当な順番でアクセスすると、ランダムアクセスになってしまいとても時間がかかる。個々のファイルを読み込む順番はどうでも良く、すべてのファイルを処理することさえできればいいので、原理的にはシーケンシャルアクセスで処理できてしかるべきである。 まず、ファイルシステムについて。HDDやSSDなどのハードウェアにアクセスする際には、ファイル名などという概念はもちろん存在しない。ファイル名と実際のディスク上の対応を管理するのがファイルシステムの主な役割である。ファイルシステムは、ファイル名からそのファイルに対応するブロック番号(メモリアドレスみたいなもんだな)を調べて、そのブロック番号を指定してHDDやSSDにアクセスす

    ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改
  • C++ のプログラムのデバッグを楽にする方法

    Google が公開しているソフトウェアの解説シリーズ(→その1 , その2)の続きです。今回は google-glog を使ってスタックトレースを表示する方法についてご紹介します。 C++ でプログラムを書いているとよく遭遇するのがセグメンテーション違反というエラーです。不正なアドレスへのアクセスなどによりセグメンテーション違反が起きると、通常、 UNIX 系の OS では SIGSEGV というシグナルによってプログラムが終了するとともに、 core というファイルが作られます。 core ファイルにはデバッガから参照できるいろいろな情報が残っていますが、多くの場合に役に立つのは、スタックトレースという情報です。スタックトレースを見れば、プログラムがどこでクラッシュしたのか、どのような関数を経由してそこにたどり着いたのかがわかります。プログラムがクラッシュした箇所を特定できれば、単純な

    C++ のプログラムのデバッグを楽にする方法
  • 新米Linux管理者がよくやる10の間違い

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 多くの人にとって、Linuxへの移行は喜びに等しい出来事だ。だが、悪夢を経験する人もいる。前者ならば素晴らしいが、もし後者なら最悪だ。しかし、悪夢は必ずしも起きるわけではない。特に、新米のLinux管理者が犯しやすい、よくある間違いをあらかじめ知っていれば、悪夢を避けられる可能性は高いだろう。この記事では、いくつかの典型的なLinuxでのミスを列挙する。 #1:さまざまな手段でアプリケーションをインストールする これは最初は悪いアイデアではないように思える。もしUbuntuを使っていれば、パッケージ管理システムが.debパッケージを使っていることを知っているだろう。しかし、ソースコードでしか見つけられないアプリケーションも多くある。大し

    新米Linux管理者がよくやる10の間違い
  • Vim講座1 - think and error

    Vim講座3 - think and error テキストエディタであるvimはとても扱いやすいのだが、Vimてモード概念があって敷居が高い(誤用)よね。ということで少しだけ書いてみる。 viキー操作メモ(Hishidama's vi Memo) こんなサイトもあるわけなのだけど、これ不便。普段使わないものまで全て書いてあるからだ。 初心者にとっては、どこまで知ればミニマルなのかが知りたいというのに。 概要 モード概念 カーソル移動 インサートモードへ 保存 ////////////基礎終了//////////// ビジュアルモードとコピペ ジャンプ 置換 Undo,Redo[***IMPORTANT***] 一文字置換 こうやってみると長そうだね. モード概念 モードは4つ。ノーマルモード、インサートモード、ビジュアルモード、コマンドモード。 ノーマルモード 起動したときはこのモード。移

    Vim講座1 - think and error
  • 1