日々精進

aikoと旅行とプログラミング

C

新たなスレッドを作成するpthread関数群メモ

今回はPOSIXが標準化したスレッドを扱うインターフェイス群の使い方をメモ。コンパイルするときは、-pthreadオプションをお忘れなく。 スレッドの作成 pthread_create関数 書式 #include <pthread.h> int pthread_create(pthread_t *thread, const pthread_attr_t *attr</pthread.h>…

alarm関数とpause関数を利用してsleep関数を実現する。

sleep関数をalarm関数とpause関数を用いて実装する。 書式 alarm関数 #include <unistd.h> unsigned int alarm(unsigned int seconds); pause関数 #include <unistd.h> int pause(void); 概要 alarm関数 呼び出したプロセスに対して、seconds秒後にSIGALRMを送る関数。 pause関数</unistd.h></unistd.h>…

プロセスにシグナルを送るkill関数メモ

プロセスにシグナルを送るkill関数についてのメモ 書式 #include <sys/types.h> #include <signal.h> int kill(pid_t pid, int sig); 概要 任意のプロセスグループまたはプロセスにシグナルを送ることができる。第一引数に指定されたプロセスpidに第二引数のsigが送られる。pidに0を</signal.h></sys/types.h>…

イベントの発生を伝えるsignal関数メモ

今回はイベントの発生を伝えるシグナル(割り込み)を発生させる関数signalについてのメモ。POSIXでは非推奨となっているが、諸事情によりsignal関数について明記することにする。 書式 #include <signal.h> typedef void (*sighandler_t)(int); sighandler_t signal(i</signal.h>…

指定したプログラムを実行するexec関数メモ

今回は引数によって指定したプログラムを実行するexec関数についてのメモ。今回はexecl関数とexecv関数について書く。 書式 #include <unistd.h> int execl(const char *path, const char *arg0, ... /*, (char *)0 */); int execv(const char *path, char *const argv</unistd.h>…

新たなプロセスを生成するfork関数&wait関数メモ

今回はC言語の話。新たなプロセスを生成するfork関数と、併用することが多いwait関数についてのメモ。 【2015/12/01】exit関数とsleep関数を追記 書式 fork関数 #include <unistd.h> pid_t fork(void); wait関数 #include <sys/wait.h> pid_t wait(int *status); 概要 fork関数 呼</sys/wait.h></unistd.h>…