Linuxの起動プロセス(ブートプロセス)
これ、重要。テストにでるから忘れんなよ!(´ω`)9m ①電源投入 ②BIOS起動 ③MBR内のプログラム(GRUB)起動 ④カーネル読み込みと初期化 ⑤initプロセス(/sbin/init)の開始 設定ファイルとし…
これ、重要。テストにでるから忘れんなよ!(´ω`)9m ①電源投入 ②BIOS起動 ③MBR内のプログラム(GRUB)起動 ④カーネル読み込みと初期化 ⑤initプロセス(/sbin/init)の開始 設定ファイルとし…
Linux起動プロセスの流れからわかるように、サービスを自動起動させるには、 ①/etc/rc.d/init.d/ にサービス用の起動スクリプトを配置 ②サービスを起動させたいランレベルに対応する/etc/rc.d/rc…
CUIでLinuxを動かしているとき、ファイルをダウンロードするためにわざわざXを立ち上げて、ブラウザを起動するのは馬鹿らしい。 コマンドラインからHTTPサーバーにあるファイルをダウンロードするにはwgetを使えばよい…
プロセス様の息の根を完全に止めるには $ kill -9 プロセスID でいい。 -9オプションなしでも、問題ないはずだけど、中には生き残るプロセス様が存在するようなので。
サーバが一つ以上のソケットへの接続を待つとき、特定のソケットに対してacceptを実行すると待ち状態になってしまい、他のソケットへの接続を受け取れなくなる。acceptの代わりにselectを使うと、この状態を回避できる…
nready=select(maxsd+1,&tfds,NULL,NULL,&timeout); tfdsに登録されたディスクリプタをtimeout時間監視し、読み込み可能状態になっているディスクリプタの…
クライアントからの接続待ち状態のことをブロックと呼ぶ。 acceptシステムコールを呼び出すと、ブロック状態になる。
子プロセス終了直後に別の端末からの接続要求(connect)が来ると失敗する事がある。 ので、子プロセス終了直後にサーバ側でsleep()などで数秒のウェイトをした後に、selectやacceptを実行する必要がある。
コマンドラインから入力したexportは一時的。 OSを再起動するとクリアされる。 毎回反映させたいならば、起動時に読み込まれるシェルスクリプト(/etc/profile とか)に記述しておかないとダメ。
Makefileの内容によるが、最近のパッケージなら Makefileのあるディレクトリにて、 # make uninstall とすれば、削除できる。 ※インストール時にmakeで指定した、サービスのディレクトリ(/u…
最近のコメント