TCP協議分成兩個不同的協議:1、網絡傳輸中差錯的傳輸控制協議TCP2、專門負責對不同網絡進行互聯的互聯網協議IP網絡體系結構概念:網絡體系結構即是指網絡的層次結構和每層所使用協議的集合OSI:(Open System Intercon
Virtual Memory Statistics ( vmstat ) 是報告關於進程,虛擬內存,磁盤,CPU活動的一個統計報告。在一個多CPU系統中,vmstat統計所有個數的CPU的平均輸出。為每個進程進行統計。沒有參數時,vms
在數據庫運維的過程中,Shell 腳本在很大程度上為運維提供了極大的便利性。而shell 腳本參數作為變量傳遞給SQL以及SQL腳本也是DBA經常碰到的情形之一。本文主要討論了如何將shell腳本的參數傳遞到SQL腳本之中並執行SQL查
備份和恢復是系統管理員經常要做的事情, 主要包括rootvg備份和用戶數據備份.1. 操作系統和系統程序的備份:將一盤新磁帶或無用磁帶插入磁帶機#tctl -f /dev/rmt0 rewind#smit mksysb在"備份
physical CPUNumber Of Processors: 8[P720:/home/dsg]$prtconfSystem Model: IBM,8202-E4CMachine Serial Number: 06DBA5RPro
--如何查看單個進程在os層面的內存消耗AIX:$ svmon -Pt10 | perl -e while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)
grep -w 924 /usr/include/sys/errno.h$ grep -w 924 /usr/include/sys/errno.h$ more /usr/include/sys/errno.h/* IBM_PROLOG
常用網絡信息檢索函數gethostname()getppername()getsockname()gethostbyname()gethostbyaddr()getprotobyname()getprotobynumber()getse
網絡數據包檢測數據包捕獲(sniffer):是指在網絡上進行數據收集的行為,需要通過網卡來完成。三種訪問方式:BSD Packet Filter(BPF)SVR4 Datalink Provider Interface(DLPI)lin
TCP輸出每一個TCP套接字有一個發送緩沖區,我們可以使用SO_SNDBUF套接字選項來更改該緩沖區的大小。當某個應用進程調用write時,內核從該應用進程的緩沖區中復制所有數據到(或是應用程序的緩沖區大於套接字的發送緩沖區,或是套接字
一、基於TCP協議的網絡程序下圖是基於TCP協議的客戶端/服務器程序的一般流程:服務器調用socket()、bind()、listen()完成初始化後,調用accept()阻塞等待,處於監聽端口的狀態,客戶端調用socket()初始化後
在迭代服務器中,服務器只能處理一個客戶端的請求,如何同時服務多個客戶端呢?在未講到select/poll/epoll等高級IO之前,比較老土的辦法是使用fork來實現。網絡服務器通常用fork來同時服務多個客戶端,父進程專門負責監聽端口
這兩個函數或者返回與某個套接字關聯的本地協議地址(getsockname),或者返回與某個套接字關聯的外地協議地址即得到對方的地址(getpeername)。#include <sys/socket.h> int gets
下面通過最簡單的客戶端/服務器程序的實例來學習socket API。serv.c 程序的功能是從客戶端讀取字符然後直接回射回去:#include<stdio.h> #include<sys/types.h>
我們看到TCP客戶同時處理兩個輸入:標准輸入和TCP套接字。我們遇到的問題是就在客戶阻塞於(標准輸入上)fgets調用,服務器進程會被殺死。服務器TCP雖然正確的給客戶TCP發送了一個FIN,但是既然客戶進程正阻塞於從標准輸入讀入的過程
在fork()/exec()過程中,假設子進程結束時父進程仍存在,而父進程fork()之前既沒安裝SIGCHLD信號處理函數調用waitpid()等待子進程結束,又沒有顯式忽略該信號,則子進程成為僵屍進程,無法正常結束,此時即使是roo
假設server和client 已經建立了連接,server調用了close, 發送FIN 段給client(其實不一定會發送FIN段,後面再說),此時server不能再通過socket發送和接收數據,此時client調用read,如果