タグ

ブックマーク / wiki.bit-hive.com (7)

  • bashのファイルID=255 - Linuxの備忘録とか・・・(目次へ)

    bashプロセスは、ファイルIDを0/1/2の標準入出力/エラー以外に、標準エラーをdupした255のファイルIDを有しています。ただし、子プロセス(コマンド)は、255のファイルIDを継承しません。このファイルIDについててです。 #include "stdio.h" int main() { while (1) sleep(10); return 0; } [root@localhost test]# ./child_of_bash & [1] 1294 [root@localhost test]# ps PID TTY TIME CMD 1183 pts/0 00:00:00 bash 1294 pts/0 00:00:00 child_of_bash 1295 pts/0 00:00:00 ps [root@localhost test]# ls -l /proc/1183/fd/

    iww
    iww 2024/06/21
    『bashプロセスは、ファイルIDを0/1/2の標準入出力/エラー以外に、標準エラーをdupした255のファイルIDを有しています。』
  • SELinux 基本編 - とみぞーノート

    一時的にSELinuxの動きを抑止するには setenforceコマンドにより設定する。再度有効にする場合は引数に1を指定する。 # /usr/sbin/setenforce 0 # /usr/sbin/getenforce Permissive 起動時の設定を変更する /etc/sysconfig/selinuxのSELINUXのフィールドにenforcing/permissive/disabledのいずれかを設定しておけば、次回起動時にそのモードで立ち上がる。 プロセスのドメイン/ファイルのタイプの確認 psコマンドで-Zオプションや--contextオプションを指定すると「ユーザ:ロール:ドメイン」の形式で表示される。 # ps -Z LABEL PID TTY TIME CMD user_u:system_r:unconfined_t 4814 pts/6 00:00:00 su

    iww
    iww 2014/07/01
  • MySQL レプリケーションの設定 - とみぞーノート

    1.2 レプリケーションの動作レプリケーションでは最初にDBの内容を同期させた後、Masterサーバーで実行された更新系のクエリ(UPDATEとか)をSlaveに渡してSlaveでも同じクエリを実行していくことで、DBを同期させている(図1)。 Master側で実行された更新系クエリはバイナリログに蓄えられており、Slave側が接続してきたら、前回の接続からの変更分をSlave側に送信する。Slave側は受け取ったクエリを一旦リレーログに蓄えて順次クエリを実行してDBを同期させていく。リプリケーション動作にはBinlogDump,I/O,SQLの3つのスレッドが連携して動作する。 2.設定手順 (Master-Slave構成) 2.1 Master側の設定の確認Master側ではバイナリログを採取しておく必要があるので、Master側のmy.cnfにlog-binの設定が入っていることを確

  • BINDオプションでのmount - Linuxの備忘録とか・・・(目次へ)

    mount --bindは、シンボリック/ハードリンクと同じで、リンク元をリンク先から参照するものです。シンボリック/ハードリンクはリンク先inodeで実装され、mount --bindは、bind元ディレクトリをmnt.mnt_rootとするバーチャルなデバイスファイルとし、そのファイルシステムをbind先ディレクトリにmountする事で実装します。 dev_nameが接続元ディレクトリ、dir_nameが接続先ディレクトリです。 SYSCALL_DEFINE5(mount, char __user *, dev_name, char __user *, dir_name, char __user *, type, unsigned long, flags, void __user *, data) { int ret; char *kernel_type; char *kernel_d

  • pdflush - Linuxカーネルメモ

    1. 概要 pdflushはページキャッシュ(ディスクキャッシュ)上のDirtyページをディスクへ書き戻す(WriteBack)のに使われるカーネルスレッド。 2. 構造 pdflushの構造は図1のようになっている。 図1 pdflushの構造 3. 解説 3.1 pdflush pdflushの処理のメインは__pdflush()。__pdflush()では、pdflush_operation()によりジョブが投入されてWakeupされると、自分のジョブ管理用構造体struct pdflush_workから登録されているジョブの処理ルーチン(.fn)を呼び出して、WriteBack処理を行う。処理が終わるとまたSleepする。 pdflushカーネルスレッドはシステム内に複数個存在する。スレッド数はWriteBackの処理量に応じてMIN_PDFLUSH_THREADS(2)〜MAX_

  • MySQL バイナリログの削除 - とみぞーノート

    1. 概要 MySQLでレプリケーションを行っているとMasterにバイナリログが溜っていきディスクを圧迫するので定期的に削除してやる必要がある。 2. 手順 2.1 レプリケーション状態の確認 まず、どこまでバイナリログを削除してよいかを調べる。 Slave側でSHOW SLAVE STATUSを実行し、Slaveがバイナリログをどこまで読み取っているかを調べる。「Master_Log_File」が現在参照中のバイナリログ。以下の例ではskylancer00-bin.000084を使用していることになるので、skylancer00-bin.000083まで削除してしまってよいことになる。Slaveが複数いる場合は、全Slaveについて確認を行う。 mysql> SHOW SLAVE STATUS \G *************************** 1. row ********

  • スケジューラ - Linuxカーネルメモ

    1.スケジュール処理schedule()がスケジューラーのメイン処理。schedule()はRunQueueから(動的)優先度の高いプロセスを選択して実行する。 schedule()はプロセスがBlock,Wakeupさせる時に明示的に呼び出して、次に実行するプロセスを選択するが、その他にも以下の契機で呼ばれている。 1. 例外や割り込みから戻る時(戻り先がユーザモードの時) 2. 例外や割り込みから戻る時(戻り先がカーネルモードの時)(CONFIG_PREEMPTが有効の時のみ) 3. システムコールから戻る時 schedule() rq = this_rq(); - 自CPUのRunQueueを取得 : : if (prev->state && !(preempt_count() & PREEMPT_ACTIVE) { /* prevがTASK_RUNNING以外の状態で * 切り替え

  • 1