気が向いたら書くやつ

気が向いたら何か書きます

GNU/Linux

GNU Makeでout-of-source build

簡単なC言語のプロジェクトをGNU Makeで管理する。 out-of-source build とは 環境 プロジェクト構成 Makefile ビルド 問題・課題 参考 out-of-source build とは プロジェクトのビルドディレクトリをソースディレクトリと別に作成する手法。 中間ファイルや…

bashでの簡易な並列処理

動機 業務のなかで、ツール実行中のメモリフットプリントを測定する必要が出てきた。 簡易的な計測でいいというだったので、「測定対象のツールと、psなどのコマンドを並列実行してメモリ使用量を計測する」という方法を思いつき、シェルスクリプトで並列処…

【Ubuntu】ファイルを消し飛ばして復旧を諦めた

忘れないために書き残す。 環境 大失敗 extundeleteによる復旧 インストールUSBからの実行 依存パッケージのビルド、諦め 消えてしまったもの 反省点 教訓 環境 OS: Ubuntu 18.04 LTS 64bit CPU: Intel Core i5-2520M @ 2.50GHz × 4 RAM: 8GB SSD: 128GB 大…

『試して理解 Linuxのしくみ』読書メモ (3)

続き。 soratobi96.hatenablog.com 第3章 プロセス管理 仮想記憶を利用しない場合の単純なプロセス管理について。 プロセスの生成には大きく2つの目的がある。 同じプログラムの処理を複数のプロセスに分ける Webサーバによる複数リクエストの受付 別のプロ…

『試して理解 Linuxのしくみ』読書メモ (2)

続き。 soratobi96.hatenablog.com 第2章 ユーザモードで実現する機能 システムコール ユーザモードのプロセスは、それ自身のコードやライブラリを介してシステムコールを呼び出し、次のようなOSの機能を利用する。 プロセス生成/削除 メモリ確保/開放 プロ…

『試して理解 Linuxのしくみ』読書メモ (1)

読書メモ。 [試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識作者: 武内覚出版社/メーカー: 技術評論社発売日: 2018/02/23メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 環境 OS: Ubuntu 18.04 LTS 64bit CPU:…

bashでの簡易な引数処理

よく出てくるのでメモ。 $# 実行時に指定された引数の数を取得する。 引数・オプションの有無を判別できます。 # nargs.sh if [ $# -ne 0 ]; then echo "$# options" else echo "no option" fi # $ ./nargs.sh 0 1 2 # 3 options # $ ./nargs.sh # no option…

bash備忘録

テストを回したりファイル加工したりと、シェルスクリプトを使うことが増えてきたので。 ループ 回数が決まっているときはseqなどを利用する。 # $(command) でコマンドの実行結果に置換 for i in $(seq 10); do echo ${i} done for i in {1..10}; do echo $…