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 投稿