タグ

unixに関するmumumu-tanのブックマーク (24)

  • GitHub - bmatzelle/gow: Unix command line utilities installer for Windows.

    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 - bmatzelle/gow: Unix command line utilities installer for Windows.
  • 第6回 UNIXプログラミングの勘所(4) | gihyo.jp

    ファイルの保存 ここまでいくつかの見落としがちな処理を見てきましたが、最後にどんなプログラマでも必ず行う「ファイルの保存」についての注意点を考察してみたいと思います。 ファイルを確実に書き込むためには、どのようなコードを書けばよいでしょうか。「⁠fsync」を呼べばいい。それだけではありません。実際には、次の2点も必要になってきます。 (内容の差し替えだった場合に)書き換え途中の状態にならないこと ユーザに対して書き込み完了を返したあとは、ディスクがクラッシュしない限り、データが消えないこと UNIX系OSでこれらの要件を満たすには、まずテンポラリファイルに新しいデータを書いてディスクに同期し(①②⁠)⁠、(⁠必要ならば)古いファイルをバックアップファイル名を使っても参照できるよう別名を付与し(③⁠)⁠、次にテンポラリファイルのファイル名を差し替え対象になっているファイルの名前に切り替え(

    第6回 UNIXプログラミングの勘所(4) | gihyo.jp
    mumumu-tan
    mumumu-tan 2014/03/28
    まあ呪文のようなものだと諦めて,コードを書き写すしかないでしょう。
  • 第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
  • Reference for proper handling of PID file on Unix

    Where can I find a well-respected reference that details the proper handling of PID files on Unix? On Unix operating systems, it is common practice to “lock” a program (often a daemon) by use of a special lock file: the PID file. This is a file in a predictable location, often ‘/var/run/foo.pid’. The program is supposed to check when it starts up whether the PID file exists and, if the file does e

    Reference for proper handling of PID file on Unix
  • MyDNS: Home

    MyDNS is a free DNS server for UNIX. It was implemented from scratch and is designed to serve records directly from an SQL database (currently either MySQL or PostgreSQL). Its primary objectives are stability, security, interoperability, and speed, though not necessarily in that order. MyDNS does not include recursive name service, nor a resolver library. It is primarily designed for organizations

  • Supervisor: A Process Control System — supervisor v3.0a9 documentation

    Supervisor: A Process Control System¶ Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems. It shares some of the same goals of programs like launchd, daemontools, and runit. Unlike some of these programs, it is not meant to be run as a substitute for init as “process id 1”. Instead it is meant to be used to control

  • MRTGを使ったネットワーク監視技法:連載|gihyo.jp … 技術評論社

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    MRTGを使ったネットワーク監視技法:連載|gihyo.jp … 技術評論社
  • 第1回 SNMPとMRTG-SNMPの仕組み、MRTGとは?- | gihyo.jp

    今回からスタートした「MRTGを使ったネットワーク監視技法⁠」⁠。連載では、MRTGを題材に、ネットワーク監視のノウハウを紹介します。第1回目は、ネットワーク監視の基となる技術「SNMP」を中心に解説します。 ネットワーク監視も重要な業務 ネットワークには、ルータなどの通信機器を経由して、サーバやクライアントなどのコンピュータがつながっています。このネットワーク環境を安定的に維持していくためには、ネットワークの状況がどうなっているのかを監視する体制が必要になります。資源管理という点では、サーバのディスクの空き容量やCPUの使用率などに目がいきますが、ネットワークも重要な資源であり、このネットワークを監視することもとても大切な運用業務です。 ネットワークの監視には専用のコンピュータが必要になります。この監視に使うコンピュータをマネージャと呼び、監視される個々のネットワーク機器をエージェン

    第1回 SNMPとMRTG-SNMPの仕組み、MRTGとは?- | gihyo.jp
  • 米Joyent、OpenSolaris由来のカーネルにKVMを移植して統合した「SmartOS」を発表 | OSDN Magazine

    Node.jsの支援やクラウド関連ソフトウェアを手がける米Joyentは8月15日(米国時間)、KVMをサポートしたクラウドOS「SmartOS」を発表した。OpenSolarisからフォークしたOS環境「illumos」ベースのカーネルにLinux由来の仮想化システム「KVM」を組み合わせたのが特徴で、ZFSやDTraceといったSolaris由来の技術とともにKVMを利用できる。 SmartOSは、「illumosをベースにBSDパッケージ管理システムとGNUツールチェーンを組み合わせたディストリビューション」とのこと。SmartOSを利用することで、エンタープライズ級のストレージを備えた信頼性の高いシステム上で仮想マシンを実行できるという。 SmartOSの特徴としてはコンテナベースの仮想化システムであるZonesとカーネル組み込みの仮想化技術KVM、ファイルシステムZFS、そしてシ

    米Joyent、OpenSolaris由来のカーネルにKVMを移植して統合した「SmartOS」を発表 | OSDN Magazine
  • 技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他) - Glamenv-Septzen.net

    ホーム 検索 - ログイン | |  ヘルプ 技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他) [ Prev ] [ Next ] [ 技術 ] 何をいまさら当たり前の事を・・・と思われるだろう。 $ nohup long_run_batch.sh & SSHからログアウト後も実行を続けたいバッチジョブを、"&"を付けてバックグラウンドジョブとしてnohupから起動するのは定番中の定番である。 しかし、「nohupを使わなくても実行を続けることが出来る」やり方があったり、さらには「nohupを付けてもログアウト時に終了してしまう」パターンがあるとしたらどうだろう? そして、ある日あなたの後輩や同僚がこれらについてあなたに質問してきたら、あなたはどう答えるだろうか? 「Web上で検索したら見つか

  • dd_rescue

    Like dd, dd_rescue does copy data from one file or block device to another. You can specify file positions (called seek and Skip in dd). There are several differences: dd_rescue does not provide character conversions. The command syntax is different. Call dd_rescue -h. dd_rescue does not abort on errors on the input file, unless you specify a maximum error number. Then dd_rescue will abort when th

    mumumu-tan
    mumumu-tan 2010/12/14
    Like dd, dd_rescue does copy data from one file or block device to another. You can specify file positions (called seek and Skip in dd).
  • Munin Monitoring

    What is Munin? Munin is a networked resource monitoring tool that can help analyze resource trends and "what just happened to kill our performance?" problems. It is designed to be very plug and play. A default installation provides a lot of graphs with almost no work. In Norse mythology Hugin and Munin are the ravens of the god king Odin. They flew all over Midgard for him, seeing and remembering,

    mumumu-tan
    mumumu-tan 2010/11/09
    Munin is a networked resource monitoring tool that can help analyze resource trends and "what just happened to kill our performance?" problems. It is designed to be very plug and play.
  • Unix Programming with Perl

    various tricks for remote linux exploits  by Seok-Ha Lee (wh1ant)CODE BLUE

    Unix Programming with Perl
  • System Interfaces Chapter 2 - 2.4.3 Signal Actions

    The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition 2.4 Signal Concepts 2.4.1 Signal Generation and Delivery A signal is said to be ``generated'' for (or sent to) a process or thread when the event that causes the signal first occurs. Examples of such events include detection of hardware faults, timer expiration, [RTS]  signals generated via the sigevent structure and terminal

    mumumu-tan
    mumumu-tan 2009/09/27
    signal safe な関数が列挙してある
  • signalについて(後篇):CodeZine

    はじめに シグナルについての解説最終回です。今回はシグナルを扱う上での注意点や、よりよい実装方法の提案、シグナルの未来等について説明します。 過去の記事 signalについて(前篇) signalについて(中篇) 5. 実装上の注意点 前回まで説明してきたとおり、シグナルは気軽に使うことができる便利なプロセス間通信です。しかしシグナルには、やってはいけないことや気をつけるべき点が多く存在します。以下、代表的な注意点を挙げます。 5.1 最適化問題 volatileはそれほど使われない宣言修飾子ですが、これは最適化を制御する修飾子です。なぜこの修飾子がシグナルと関係あるのかについてですが、先にソースコードを示します。 /* 1. gcc -g -W -Wall signal_test_volatile.c -o signal_test_volatile 2. gcc -g -W -Wall

    signalについて(後篇):CodeZine
  • signalについて(中篇)

    はじめに 前回に引き続きシグナルについてまとめてみたいと思います。今回はシグナルの実装方法についてです。 過去の記事 signalについて(前篇) 4. シグナルの実装(割り込み禁止、アラーム) 4.1 割り込み禁止 シグナルは、あるハンドラの実行中に別シグナルによる割り込みを防ぐことができます。割り込み防止対象はハンドラだけではなく、ユーザー独自の関数に対しても割り込まれない事を保証することが可能です。 例えば、SIGINT(Ctrl+C)シグナルが発生しハンドラ内で時間がかかる処理を行っている時にSIGTSTP(Ctrl+Z)が来た場合には、ハンドラ内の処理が終了してからSIGTSTPを処理(バックグラウンド動作)します。 /* gcc -g -W -Wall signal_test_interrupt.c -o signal_test_interrupt */ #include <s

    signalについて(中篇)
  • signalについて(前篇)

    はじめに シグナルはUNIXなどのOSにおける非同期イベントを通知する仕組みですが、「最古のプロセス間通信」「SysV系とBSD系で動きが違う」「昔のシグナルを使うと汎用性が無くなってしまう」「スレッドと相性悪し」といった理由からか、私の経験上、業務系アプリケーションではあまり使われていません。たまに使っているものを見ると、誤った使い方をしているものが多かったりします。 ところがこのシグナル、いろいろ調べていくと意外と奥が深く、有用に使えるのに、以外と情報が少ないことがわかりました。 今さらな感もありますが、ここでは私が知っている事や、調べた結果、今までの経験から得た知識などをまとめてみたいと思います。 ただし、環境によって動作が違うことが想定され、また一部のプログラムは環境に対し重大な影響を与えてしまうものもあります。プログラム等の使用に際しては十分に注意して頂き、ご自身の責任の範囲で行

    signalについて(前篇)
  • Unix Programming Frequently Asked Questions 日本語訳 - 1 プロセス制御 - 1.6 どうすればゾンビプロセスができることを防ぐことができますか?

    Go to the first, previous, next, last section, table of contents. 1 プロセス制御 1.1 新しいプロセスの生成: fork() 1.1.1 fork()は何をするのですか? #include <sys/types.h> #include <unistd.h> pid_t fork(void); fork()関数は存在しているプロセスから新しいプロセスを生成するために使用さ れます。新しいプロセスを子プロセスといい、すでに存在していたプロセスは親 プロセスといいます。fork()の戻り値をチェックすると、この両者を区別できま す。親プロセスには子プロセスのプロセスIDが返されますが、子プロセスには 0が返されるのです。 ですから、以下の簡単なコードがfork()の使い方の基になります。 pid_t pid; switch

    mumumu-tan
    mumumu-tan 2009/09/14
    単にバックグラウンドでプログラムを起動するだけではこれらの長時間動くプロ グラムには十分ではありません。それでは開始した端末セッションからプロセス を正しく切り放せないためです。また、通常デーモンは単に
  • Manpage of SELECT_TUT

    SELECT_TUT Section: Linux Programmer's Manual (2) Updated: 2007-12-18 Index JM Home Page roff page 名前 select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - 同期 I/O の多重化 書式 /* POSIX.1-2001 に従う場合 */ #include <sys/select.h> /* 以前の規格に従う場合 */ #include <sys/time.h> #include <sys/types.h> #include <unistd.h> int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *utimeout

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    mumumu-tan
    mumumu-tan 2009/08/31
    C構造体をソケット経由で送信する場合はどうでしょうか。この場合もトラブルになります。なぜなら、すべてのコンパイラーが構造体の要素を同じように整列するわけではないからです。また、構造体は、無駄なスペース