Linux における定期タスクの管理: cronサービス

cronサービス Linuxでは、定期的に実行されるタスクは通常、cronというデーモンによって処理されます。オペレーティングシステムをインストールすると、このサービスツールがデフォルトでインストールされ、自動的に起動します。crondプロセスは毎分定期的にチェックを行い、実行すべきタスクがあればそれを実行します。 cronサービスの最小実行単位は1分です。つまり、cro ...

7月17日 20:07 投稿

Linuxのマルチスレッド:基礎概念とPOSIXスレッドの実践

スレッドの基礎概念スレッドとはプロセスを生成する際、カーネルはプロセス制御ブロック(task_struct)、メモリ空間(mm_struct)、およびページテーブルなどを独自に作成し、仮想アドレスと物理アドレスのマッピングを構築する。一方、スレッドの作成時には新たなtask_structが作成されるが、アドレス空間やページテーブルは親プロセスと共有される。プロセス内の実行経 ...

7月17日 20:02 投稿

V言語製軽量テキストエディタ「Ved」の環境構築と運用トラブルシューティング

依存環境の整備とコンパイル手順 実行時グラフィックスライブラリの欠如により、ソースコードのビルドが中断されるケースが確認されています。システムパッケージマネージャーを使用して、ウィンドウシステムおよびフォントレンダリング用の開発ヘッダーを事前に配置してください。 対象OS必要なパッケージ取得コマンド Ubuntu / Debian系sudo apt install libx11-dev ...

7月17日 00:39 投稿

Linux MISCデバイスドライバの概要と実装

MISCデバイスドライバの基本概念 MISC(Miscellaneous)は「雑多な」ことを意味し、特定の分類に当てはまらないハードウェアデバイスに対して使用されます。このドライバは通常、platformバスドライバのサブシステムとして実装されます。 MISCデバイスはすべて主デバイス番号10を使用し、異なるデバイスごとに独自のサブデバイス番号を割り当てます。cdev構造体の自動生成 ...

7月16日 20:19 投稿

Linuxアーカイブのデータ検証と修復

破損したアーカイブの修復手順 tar: Skipping to next header というエラーが表示された場合、アーカイブファイルの構造が破損している可能性が高いです。以下の手順で対処してください。 1. ファイルの整合性を確認する(最重要ステップ) アーカイブを実際に展開せずに、ヘッダー情報のみを読み取ってみます。 tar -tvvf 圧縮ファイル.tar | head -n 20 ✅ 一部のファ ...

7月16日 18:31 投稿

LinuxシステムでのTCP接続状態の確認方法

Linux環境では、現在のTCP接続状況を確認するための複数のコマンドが利用可能です。接続ステータス、送信元/宛先IPアドレス、ポート番号などの情報を取得できます。 1. netstat コマンド(従来型ツール) netstat -tunap オプション説明: -t:TCP接続情報を表示 -u:UDP接続情報を表示(任意) -n:名前解決を無効化(ホスト名ではなくIPアドレスを表示) -a ...

7月16日 16:24 投稿

Ubuntu 20.04でのDockerインストール手順

Ubuntu 20.04環境にDockerを導入する手順について説明します。システムのディストリビューションを確認する必要がある場合は、以下のコマンドを使用してください。 1. ディストリビューションの確認方法 以下のコマンドからシステム情報を取得できます。特に1番のlsb_release -aが効率的です。 1. ディストリビューション名とバージョンの確認 lsb_release -a 出力例: ...

7月16日 01:47 投稿

CentOSへのDockerインストールと基本コマンド

# Docker公式スクリプトをダウンロード curl -fsSL https://get.docker.com -o docker-install.sh # スクリプトを実行してインストール sudo sh docker-install.sh # インストール確認 docker --version # ユーザーをdockerグループに追加 sudo usermod -aG docker $USER # グループ情報を更新 newgrp docker # ストレージ場所変更 sudo mkdir -p /mnt/Docker # ...

7月16日 01:22 投稿

DockerによるPython Webサービスのコンテナ化入門

Pythonで簡単なWebサーバを実装した後、開発・再起動の手間を軽減するためにDockerの導入を検討するケースは多い。以下では、その背景とDockerの基本概念、環境構築方法を解説する。 シンプルなPython Webサーバの例 以下のコードは、ソケットベースでHTTPリクエストを処理する最小限のPython Webサーバである: import socket HOST, PORT = '0.0.0.0', 8080 sock = soc ...

7月15日 23:20 投稿

Linuxでの読み書きロックの使い方

読み書きロックの概要 読み書きロックはミューテックスの進化版で、読込ロックを取得した場合、複数スレッドが並列/並行で読み込み操作を実行可能です。これにより読み込み処理時のパフォーマンスが向上します。一方で書き込みロックは排他制御を行うため、ミューテックスと同様にシリアライズされます。 Linuxではpthread_rwlock_t型で定義されます。この型を用いてロッ ...

7月15日 19:55 投稿