This domain may be for sale!
Fork爆弾(フォークばくだん)とは、コンピュータシステムへのDoS攻撃の一種で、新たなプロセスを生成するfork機能を使ったものである[1]。Fork爆弾はワームやウイルスのようにコンピュータからコンピュータへ広がることはない。これは、コンピュータ上で同時に実行可能なプログラム数あるいはプロセス数に制限があるという前提に依存したものである[2]。このような自己複製プログラムを wabbit、bacteria、rabbit programs などと呼ぶ。wabbit は単に自己複製するだけでなく、悪意ある副作用を持つようプログラムすることもできる[3]。 fork爆弾のコンセプト。プロセスは再帰的にforkし、サービス停止状態に陥らせる。 Fork爆弾は非常に高速に多数のプロセスを生成して、コンピュータのオペレーティングシステムの管理するプロセスのリストを埋め尽くす。プロセステーブルが埋め
コマンドラインツールについて語るときに僕の語ること - YAPC::Asia Tokyo 2014 コマンドラインツールが好きで昔からつくってきた. 今年のYAPCで,そのコマンドラインツールをつくるときにどういうことを意識して作っているのか?どのような流れで開発しているのか?といったことを語る機会をもらえた. 具体的な内容については,是非トークを聴きに来てもらうとして, スライドをつくるにあったって過去に読んだ資料や,よく参考にしている記事を集め直したので,その一部を参考資料としてまとめておく. UNIXという考え方 UNIXという考え方 Mike GancarzによるUNIXの思想や哲学をまとめた本.古いが全然色あせてない. コマンドラインツールの作り方を書いた本ではないが,これらの思想の上で動くツールはこの思想に準拠して作られるべきだと思う.何度も読んで考え方を染み付かせた. 小さい
You should be able to go “really full screen” with GraphicsDevice.setFullScreenWindow (window). However, due to bugs in the most popular Java runtimes, this may not work on systems running certain “broken” versions in the 1.6 = Java 6 series. I haven't tested this thoroughly, so it may be that the patch hasn't propagated out to the general populace, yet. https://bugs.java.com/bugdatabase/view_bug?
oh-my-zsh の環境で、peco-select-history が動かない - Qiita 追記 2014年 7月 7日 シェルスクリプトと書いてしまい漠然すぎましたが, ここで述べている ことが問題になるのは, .bashrc, .zshrcに関数, alias設定等がコピー される場合や, sourceコマンドでファイルを読み込む場合です. non-interactiveに実行されるシェルスクリプトについては特に 問題ないです. 問題点 そうしないと, 公開されたコマンドを自分の環境に導入した場合, aliasにより正しく動かなく場合があるためです. aliasをつけがちな コマンド(ls, grep等)がシェルスクリプトに含まれていると 特に問題が起こる可能性が高くなります. 例 pecoを使って カレントディレクトリのファイルをページャで開く 例を考えてみましょう. 単純に考
自作のプログラムから,BIOSの設定を変更する事は可能なのか。 例えばブートデバイス設定やブートシーケンスの設定は, ふつうはPC起動時の「BIOS設定画面」から手動で変更するわけだが, これらの項目を,自作プログラムから書き換える事はできるのか。 (1)BIOSやCMOSなど関連キーワードについて (2)自作プログラムからBIOS/CMOSにアクセスする方法 (3)具体的なサンプルコードと実現方針 (4)結論 (1)BIOSやCMOSなど関連キーワードについて簡単におさらい PCの起動の流れ: ユーザはPCの電源を入れる。 PCのマザーボードに通電する。ここで,マザーボード上には,CPU,ROMまたRAMが設置されている。 ROM内には,BIOSのプログラムが入っている。 ROMとはいえ,フラッシュメモリなので,書き換え可能である。ここの書き換えは,BIOSアップデートを意味する。 RA
Linuxカーネルに興味があるんだけど特に作りたいものってないんだよなーなんて割とあると思う訳です。俺とか。。。 まあ、kernelnewbiesのメーリングリストでもよく見る話題かと思います。この辺なんかもそうですね。 で、そんな時にオススメできるのがkmemleak。カーネルに組み込まれたメモリーリーク検出ツールです。 使い方は至って簡単でカーネルのコンフィグレーションにあるKernel memory leak detectorを有効にしたカーネルを普通に使えばOK。カーネルはメインラインのrcでもtipでもlinux-nextでも何でも良いと思います。 設定の場所はKernel Hacking -> Memory Debugging -> Kernel memory leak detectorにチェックをするのと、 その下のMaximum kmemleak early log ent
LinuxやMacなどで一時ファイル作成が不要になる「プロセス置換」の使い方について紹介します。 1.はじめに 2つのファイルを比較するときには、通常diffを利用します。 % diff foo.txt bar.txt ですが、一方または両方のファイルを加工してから比較したい場合、次のようなことを行うことがあります。 % grep -v hoge foo.txt > foo2.txt % grep -v hoge bar.txt > bar2.txt % diff foo2.txt bar2.txt 具体的な例として、5月9日と5月10日のウェブサイトへのページ別アクセス数のログ(CSVファイル)があるとします(Google AnalyticsからダウンロードしたCSVとか)。 % cat 0509.log aaa.html,300 bbb.html,20 ccc.html,156 ddd
こういう DebugPrint 1関数ずつ入れなくてOK。 素敵ポイント: 大元のソースには手を入れない。 gcc 使用。 ソース #include<stdio.h> /* Proto Type */ void hello_world( void ); void hello_world(void) { printf( "hello!\n" ); } int main(void) { hello_world(); return 0; } #define _GNU_SOURCE #include <dlfcn.h> #include <iostream> extern "C" { void __cyg_profile_func_enter(void* func_address, void* call_site); void __cyg_profile_func_exit(void* func_
The best-selling C++ For Dummies book makes C++ easier!C++ For Dummies, 7th Edition is the best-selling C++ guide on the market, fully revised for the 2014 update. With over 60% new content, this updated guide reflects the new standards, and includes a new Big Data focus that highlights the use of C++ among popular Big Data software solutions. The book provi... Multithreading is essential if you w
なんか行情報読むとかそいう話題が twitter にあったので、適当に作ってあったのでなんか書いてみる。 http://github.com/shinh/test/blob/master/addr2line.cc DWARF 情報つけると (今の GCC だと -g でつくと思う) アドレスからコードの名前を行番号をひけるようになるんだけど、まぁその情報をプログラムから読むという話。 まずどこに格納されてるかっていうと、 .debug_line っていうセクションに入っているので、それを探す必要がある。上のプログラムで言うと main の中。先頭にある ELF ヘッダを読んでセクションヘッダの開始位置とセクション名の格納されてる .shstrtab の位置を教えてもらって、 .shstrtab の情報を参考にして .debug_info の位置を特定する。 .debug_line の中身は
戻る Serial通信 USB & GPIO 2012.9.11 PICマイコン等とのI/Fです。PCのUSBともOKです。 raspberry pi側送受信 ttyUSB0のプログラミング # ls/dev では ・serial-USB変換ケーブルをUSBに接続すると「ttyUSB0」が増えて、 USBメモリーを接続すると「usbdev1.5」が増える ・serial-USB変換ケーブルをもう1つUSBに接続すると「ttyUSB1」が増える # ls -l \dev | grep ttyUSB ttyUSB0 ttyUSB1 と表示する ttyUSB0とttyUSB1の見分けは # ls /dev/serial/by-id usb-FTDI_FT232R_USB_UART_A400gBYg-if00-port0 usb-Prolific_Technology
bashのfor文のまとめです。 ネットで調べたところ、ケース別ですぐに使えそうなサンプルが並んでいるものがなかったので、このエントリーでまとめてみました。 認識違いがありましたどこかでつぶやいてください。 なお、サンプルでは変数のカーリーブレースやダブルクォーテーションは省略しています。適宜付与してください。 1.フォーマット bashのfor文のフォーマットは for 繰り返し条件 do # ... done となっています。 次のフォーマットでも書けます(以降、このフォーマットで解説)。 for 繰り返し条件; do # ... done 2.初期値・ループ条件・ループ時の処理で指定する 繰り返し条件の部分は一般的なfor文のお作法(初期値、ループ条件、ループ時の処理)が利用できます。 for ((初期値; ループ条件; ループ時の処理)); do # ... done サンプル m
忘れたころに使いどころが出てくるソケットまわりの話.socketの設定にはsetsockopt(2)でいろいろやるのだけれど,今回は以下の2ケースのタイムアウト設定に挑戦して,ぜーんぶうまくいかなかったけれど,いろいろ試行錯誤したから失敗記事にしてみる. (1) 接続先ホストに対してconnect(2)失敗のタイムアウトを指定したい. (2) 接続した状態で接続先ホストがダウンしたときなど,read, writeの応答なしのタイムアウトを指定したい. 今回は,以下の環境で実験した.ふたつの環境で挙動が違ったから,また泣きたくなる. (A) Ubuntu 9.10 Linux kernel 2.6.31-22 (B) Debian squeeze 2.6.32-5 (1) connectタイムアウトの設定 まず(1)から.以下の記事を見ると,どうやらsetsockopt(2)でSO_SNDT
Let's examine the case of power failure while a reliable process is running. When the power cable is pulled out, the power doesn't die out immediately. In fact, it takes a few milliseconds before the power is completely gone. This reliable process may need to be notified of such power failures to, for instance, save states before being forced to exit. Let's examine the possible approaches to accom
Posted on April 19, 2009, 8:16 pm, by Alexander Sandler, under Programming Articles. IntroductionBACK TO TOC Perhaps any engineer developing for Linux encounters this problem. What’s is the right way to terminate the program? What are the ways to receive notifications from operating system about events that occur. Traditional Unix systems have the answers ready. The answer to these questions is si
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く