Linux

straceで子プロセスもトレースする

こんにちは。昼に調子に乗ってラーメンを食べたら、気持ち悪くなりました、きたけーです。 久しぶりにstraceつかったのでメモ。子プロセスもトレースするときは-fオプションをつかいます。(長いこと使っていなかったからすっかり忘れていた...) strace -p プ…

CentOS(Linux)でコマンドのコードリーディングをする準備(ソースコード編)

こんにちは。技術書を買いすぎて破綻の足音が後ろから近づいているきたけーです。 最近、低レイヤーの知識を深めるためにC言語の勉強をしているのですが、ただC言語の勉強をしていても意味がありません(まぁ、メモリを意識したりはできるようになりますが)。…

学校の課題「自分でシェルを作る」Part2

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/wait.h> #include <sys/types.h> #include <unistd.h> #define PROMPT ">" #define MAX_ARGS 10 #define MAX_LEN 100 void child(int argc, char *argv[MAX_ARGS]); int main() { int argc; int status; char input[MAX_LEN], *argv[MAX_ARGS], …</unistd.h></sys/types.h></sys/wait.h></string.h></stdlib.h></stdio.h>

学校の課題「自分でシェルを作る」Part1

学校のオペレーティングシステムの課題にこんなのが。 簡易シェルプログラムを作ってみよう。 シェルの実現方法 while(TRUE){ print_prompt(); /* 入力を促す文字列を表示 */ read_command_line; /* コマンドを入力する */ pid = fork(); /* 子プロセスを生…

Linuxが趣味という人

Linuxが趣味という人がいると思うけど(自分もそうです)、そういう人はLinuxのどこに趣味としての要素を見出しているのだろう。 そこらへん自分のLinuxの歴史と絡めて少し深く考えてみる。 1.コマンドを打ち込むだけでも 自分もLinuxを入れたばっかりのころ…