process
$ man 5 proc
process information pseudo-filesystem
$ ls /proc
ずらっと、プロセス番号がでる。ps -n NUMBER
ここでは 端末上のprocess(実行単位(memoryを持って動く)). signalで制御される。 ps とうつと、自分のshellと psの二行しかでない。
よくあるのは、
$ ps aux
ps -auxとの違い。
all processes owned by a user named "x", as well as printing all processes that would be selected by the -a option.
If the user named "x" does not exist, this ps may interpret the command as "ps aux" instead and
print a warning.
processが走ってるかどうかを確認
$ ps aux | grep ...
とすることがおおいけど、これだと、項目名が頭に入らない。
$ ps -aF
とするのがちょうどよいかも - のあるなしにきをつける。
プロセスの状態
R(un): CPUを使用中
D(isk): I/Oまち
S(leep): sleepしてる
T(erm): 一時停止
Z(ombi): 親プロセスの終了確認をまってる。
load average(command)は、 R, D となってるプロセス数をします。 プロセスの制御
signal シグナルを送ることによって、停止に関するもの?ができる hup(hang up)
kill
あとは、INT, QUIT, TERM, STOP, CONT, CHILD(子プロセスの終了)
読んでないけど、、
プロセス間でのやりとり
IPC(inter process communication). 複数のプロセスでデータをどうするか
$ipcs show information on IPC facilities
共有メモリ :気をつけて共有
pthread APIによる制御もある
マップドメモリ
メモリのようにアクセスできるよう仮想アドレス空間にマップ..シリアライズなしでファイルにデータを配置
パイプ
厄介なのがプロセス間に親子関係が必要になる
FIFO
named pipe mkfifo
ソケット通信
他のマシンにあるプロセスと通信できることです。