タグ

processに関するYudoufuのブックマーク (10)

  • システムコールを経由する生のLinuxスレッド | POSTD

    Linuxのスレッドは、洗練された美しい設計です。スレッドは仮想アドレス空間とファイルディスクリプタテーブルを共有するプロセスに過ぎません。プロセスによって生成されたスレッドは、メイン”スレッドの”親プロセスに追加された子プロセスです。これらは同じプロセス管理のシステムコールを通して処理されるので、スレッドに関するシステムコールのセットを分ける必要性を取り除きます。これはファイルディスクリプタと同様に洗練された方法です。 一般的に、UNIX系のシステムではfork()を使ってプロセスを生成します。新しいプロセスは、オリジナルのコピーとして独自のアドレス空間とファイルディスクリプタテーブルを取得します。(Linuxではコピーオンライトを使用して、この部分を効率的に処理します。)しかし、これは非常に高度なスレッドの生成方法なので、Linuxでは別の clone() システムコールを使用します。

    システムコールを経由する生のLinuxスレッド | POSTD
  • うっかり起動してしまった時間のかかるプロセスをtmux上に付け替えたい - Qiita

    うっかり生のシェル上で時間がかかるプログラムを起動してしまって困ったこと、ありませんか。 こういう時に使えるコマンドに、reptyrがあります。 インストール Debianなら

    うっかり起動してしまった時間のかかるプロセスをtmux上に付け替えたい - Qiita
  • process-book

    この文書はなんですか? この文書は*nix系のシステムにおけるプロセスやシグナルなどについて説明することを目的に書かれました。「プロセスとかよくわかってないからちゃんと知りたいな」みたいなひとたちが想定読者です。 書いているあいだは gist で管理されていたのですが、ボリュームが大きくなったので github で管理するように変えました。 目次 導入 プロセスの生成 プロセスとファイル入出力 ファイルディスクリプタ preforkサーバーを作ってみよう ゾンビプロセスと孤児プロセス シグナルとkill プロセスグループとフォアグランドプロセス epub と pdf epub化したもの、pdf化したものが release ディレクトリに入っています。thanks to mitukiii & moznion! ライセンス この 作品 は クリエイティブ・コモンズ 表示 - 継承 3.0 非移

  • waitUntilExit - macOS/iOS API解説

    UNIXコマンド実行の終了を待ちます 解説 UNIXコマンド実行の終了を待ちます。 返り値 ( void ) なし 引数 フレームワーク Foundation クラス NSTask Instance Methods 使用可能 10.0 参照 - launch - terminate 例文 #import "MyObject.h" @implementation MyObject - (IBAction)myAction:(id)sender { NSTask *task = [[NSTask alloc] init];//Task=UNIXコマンド実行 NSPipe *pError = [NSPipe pipe];//エラー出力先 NSPipe *pOutput = [NSPipe pipe];//標準出力先 [task setLaunchPath:@"/usr/bin/cal"];//起

    waitUntilExit - macOS/iOS API解説
  • 「プロセスの一覧を取得する」

    Mac OS X 用バイナリエディタ。 0xED ファイルの中身を詳細を見るのはもちろん、テキストの改行コードをちょっと確認したい時にも役立つ。PNGやJPEGなど画像ファイルのヘッダ情報を見るのにも重宝しそう。 PNGを開くとこんな感じ。 エディタなのでもちろん変...

  • apacheのMaxClientsの適正値調べた - うまいぼうぶろぐ

    参考. http://www.typemiss.net/blog/kounoike/20060202-61 http://d.hatena.ne.jp/babie/20060201/p3 http://yutuki.blogspot.com/2007/08/apache-maxclients.html http://d.hatena.ne.jp/hideden/20080409/1207740439 わけあってMaxClientsの設定を色々調べました。初っ端から言い訳ですが勉強中なので、あまり鵜呑みにしないでください。 追記 topのSHRの項目が共有メモリサイズだと思ってたけど、naoyaさんのblogによると違うらしい。 http://d.hatena.ne.jp/naoya/20080212/1202830671 なので↓に出てくるtopのSHMを使っている計算は間違ってる模様。同

    apacheのMaxClientsの適正値調べた - うまいぼうぶろぐ
  • OOM Killer

    OOM Killer(Out of Memory Killer)は,システムが実メモリーと仮想メモリー空間(スワップ領域)を使い切り,必要なメモリー領域を新たに確保できない場合に,プロセスを強制終了させて空きメモリーを確保する,Linuxカーネルの仕組みです。OOM Killerは,空きメモリーが確保できないことによりシステム自体が停止するという最悪の事態を避けるために用意されています。 OOM Killerは,空きメモリーを十分確保でき,システム上損失のなるべく少ないプロセスを選んで,強制終了します。また,強制終了するプロセスの数がなるべく少なくなるようにしています。実際に,どのプロセスを強制終了するかは,カーネル内部のbadness()関数が決めます。 ただし,OOM Killerにより,システム上大切なプロセスが強制終了させられることもあります。システム・トラブルの原因に成り得ること

    OOM Killer
  • OOM Killer対策

    先日のこの話 、Out Of Memory Killer 、通称OOM Killerのせいらしい。キャッシュとしてshared memoryを贅沢に(^^;)使用するPostgresSQLのWrite processが集中的に狙われてます>_<。 直接的にこの仕組みを切るにはecho 0 > /proc/sys/vm/oom-kill かecho -17 > /proc/(PID)/oom_adj ただし前者はRedHat独自&OOM Killer完全停止、後者はカーネル2.6.11以降&プロセスごとに設定。CentOS 4.4のカーネルは現時点2.6.9なので前者。もうひとつの方法として、OOM Killerが発動する1つの原因を作っているメモリのオーバーコミットをさせない方法。具体的には、 echo 2 > /proc/sys/vm/overcommit_memory echo 90

  • スレッドセーフ - Wikipedia

    スレッドセーフ(英: thread-safe)は、マルチスレッドプログラミングにおける概念である。あるプログラムコードがスレッドセーフであるという場合、そのコードを複数のスレッドが同時並行的に実行しても問題が発生しないことを意味する[1]。特に、ある共有データへの複数のスレッドによる読み書きアクセスがあるとき、一度に1つのスレッドのみがその共有データにアクセスするようにして安全性を確保しなければならない。スレッドセーフでないコードを同時並行的に実行すると、データ競合による未定義動作を引き起こしたり、競合状態(レースコンディション)による意図しない動作を引き起こしたりする。場合によっては深刻なセキュリティホール(脆弱性)が引き起こされることもある[2]。 概要[編集] スレッドセーフはマルチスレッドプログラミングにおける重要な要素である。それは従来、オペレーティングシステムの開発者だけが考慮

  • pcntl extensionを使って一定個数の子プロセスに作業させる方法 - Blog::koyhoge::Tech

    日はノッキングオンさんで第22回PHP勉強会が開催されたので参加してきました。 その後の宴会で、PHPをCLIで使うときにexec()関数ではなくpcntl extensionを使って子プロセスを制御する話をしたら、周りの人のいつきがいつになく良かったので、このネタでエントリを書くことにします。 まずはコードから。 <?php // child process params $nchild = 0; $nfinished = 0; $cur_idx = 0; $maxchild = 10; $params = range('a', 'z'); $paramlen = count($params); for (;;) { if ($nfinished >= $paramlen) { break; } if (($nchild <= $maxchild) && ($cur_idx < $p

    pcntl extensionを使って一定個数の子プロセスに作業させる方法 - Blog::koyhoge::Tech
  • 1