原创 linux查看進程監聽的端口號(包括進程的名字,pid,監聽的端口號等)

查看當前用戶下的對應進程監聽對應的端口號: lsof -i lsof -i:端口號 netstat -tunlp | grep 端口號  

原创 一個小巧的寫日誌文件的c實現

在看開源項目的twemproxy時,發現它的日誌系統寫的很小巧,稍微改改就可以變成自己的日誌系統,可以添加一個log.ini文件來配置日誌級別等等。 具體測試代碼如下: #include <stdio.h> #include <stda

原创 db2常用sql語句總結

每5000條刪除一次,提交一次事務 delete from (select * from tablename where condition fetch first 5000 rows noly) 顯示數據庫所有表 db2 list

原创 Maximum Subarray(最大連續子數組之和)

描述 Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For example

原创 二叉排序樹c實現

大話數據結構中二叉排序樹的實現,data值:左子樹<根節點<右子樹 62,88,58,47,35,73,51,99,37,93,71,82,80插入後樹結構如下圖: 刪除88節點時,先轉到88節點的左子樹,然後向右到盡頭,88的左子樹爲

原创 描述符重定向dup2

函數原型: #include <unistd.h> int dup2(int oldfd, int newfd); 函數功能描述: 將描述符newfd重定向到oldfd 下面是一個demon,將文件a.txt的描述符重定向到標準輸出STD

原创 linux獲取cpu核心數c語言接口

接口原型: #include <unistd.h> long sysconf(int name); 接口描述:該接口用於獲取一些系統配置,如_SC_NPROCESSORS_ONLN表示The number of processors cu

原创 linux下socketpair通信

函數原型:        #include <sys/types.h>          /* See NOTES */        #include <sys/socket.h>        int socketpair(int d

原创 linux信號之sigsuspend和setitimer

函數原型:sigsuspend(const sigset_t *mask) 作用:用於在接收到某個信號之前, 臨時用mask替換進程的信號掩碼, 並暫停進程執行,直到收到信號爲止。 sigsuspend 返回後將恢復調用之前的信號掩碼。信

原创 linux信號屏蔽

linux信號屏蔽: #include <stdio.h> #include <signal.h> #include <unistd.h> #include <stdlib.h> int main(int argc, char *ar

原创 多線程實現abc按順序循環打印10次

abc順序打印是通過信號量實現的 代碼如下sem_pthread.c: #include <stdio.h> #include <pthread.h> #include <semaphore.h> static sem_t num1,

原创 堆排序

根據最大堆的特性,根節點是數組最大元素來進行堆排序: 每次將根節點元素與堆尾部元素進行替換,堆大小遞減,然後以A[1]爲根,重新維護堆,A[0]堆大小遞減 代碼實現如下:heapsort.c #include <stdio.h> #d

原创 算法導論最大堆的數組c實現

最大堆的特性:最大堆的最大元素在根部,其餘元素遵從A[PARENT(i)] >= A[i] 其中數組A的首元素A[0]保存堆的大小 代碼如下:maxheap.c #include <stdio.h> #define PARENT(x)

原创 linux進入圖形界面

運行命令:startx或者init 5 運行命令不行的話,root用戶下 #vi /etc/inittab 找到id:3:initdefault:這一行,將3改爲5,然後重啓

原创 c++文件讀寫

寫文件: #include <iostream> #include <fstream> using namespace std; int main(void) { ofstream outFlie; outFlie.open(