linux環境有關編程(2)

C語言通過putenv和getenv函數來訪問環境變數。#include<stdlib.h>char *getenv(const char *name);int putenv(const char *string);環境是由一組格式為“名字=值”的字串組成。getenv函數以給定的名字搜尋環境中的一個字串,並返回與該名字相關的值。如果請求不存在,就返回NULL。由於getenv返回的字串儲存在靜態空間,所以想進一步利用它,就必須拷貝出來。// 1 The first few

linux termios結構

文章目錄 使用termios結構的密碼程式 termios 結構是在POSIX規範中定義的標準介面,它類似於系統V中的termio介面,通過設定termios類型的資料結構中的值和使用一小組函數調用,你就可以對終端介面進行控制。可以被調整來影響終端的值按照不同的模式被分為如下幾組:1.輸入模式2.輸出模式3.控制模式4.本地模式5.特殊控制模式最小的termios結構的典型定義如下:struct termios{         

linux環境有關編程(1)

getopt(分析命令列參數)   #include<unistd.h>   int getopt(int argc,char * const argv[ ],const char * optstring);  extern char *optarg;  extern int optind, opterr, optopt;  函數說明 getopt()用來分析命令列參數。       參數argc和argv是由main()傳遞的參數個數和內容。       參數

linux 底層檔案訪問(庫函數)

write系統調用#include<unistd.h>#include<stdlib.h>int main(){ if( (write(1,"here\n",6) !=6)) { write(2,"WRONG",5); } exit(0);}read系統調用#include<unistd.h>#include<stdlib.h>int main(){

linux 進程控制代碼計數

---查看Linux系統預設的最大檔案控制代碼數,系統預設是1024# ulimit -n1024----查看當前進程開啟了多少控制代碼數# lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more131 24204 57 24244  57 24231   ........其中第一列是開啟的控制代碼數,第二列是進程ID。可以根據ID號來查看進程名。# ps aef|grep 24204nginx  24204 24162 99 16:15 ?   

linux的系統函數

linux的系統函數1.1 函數查詢linux的man page中,若屬於系統函數,均儲存於第二個區段中;若為標準函數庫的函數,則放在第三區段中;查詢用以下命令:#man -S 3 sysinfo no manual entry for sysinfo#man -S 2 sysinfoinformation about sysinfo1.2 系統函數使用限制  由於linux作業系統具有很嚴密的安全機制,因此如果在一般許可權使用者執行的程式中,用到系統調用函數的時候可能會有很多限制.2

linux dbm資料庫

大多數主流的Linux發行版都會預設安裝gdbm,但在一些發行版中,你可能需要使用軟體包管理器來安裝相應的開發庫。例如,在ubuntu中,你可能需要使用Synaptic軟體包管理器來安裝libgdbm-dev軟體包,因為它一般不會被預設安裝。dbm的資料區塊datum是一個用typedef語句定義的類型。它至少包含下面兩個成員:void *dptr;size_t dsize;dbm訪問函數包括下面四個:#include<ndbm.h>DBM *dbm_open(const char

Linux 進程與訊號

Linux和Unix一樣,有一個虛擬記憶體系統,能夠把程式碼和資料以記憶體頁面的形式放到硬碟的一個地區中,所以Linux可以管理的進程比實體記憶體所能容納的要多得多。進程表查看進程ps -efTTY

LINUX終端編程

如果想知道標準輸出是否被重新導向了,只需要檢查底層的檔案描述符是否關聯到了一個終端即可。系統調用isatty就是用來完成這個任務的。你只需要將有效檔案描述符傳遞給它,它就能判斷是否串連到了一個終端。#include <unistd.h>#include <stdio.h>#include <stdlib.h>char *menu[] = { "a - add new record", "d - delete record", "q -

Linux一個健壯的訊號介面

Linux提供了一個更見健壯的訊號介面:sigaction。#include<signal.h>int sigaction( int sig, const struct sigaction *act , struct sigaction *ocat);sigaction結構定義在檔案signal.h中,它的作用是定義在接收到參數sig指定的訊號後應該採用的行動。該結構至少應該包含一下以下幾個成員 。void (*) (int ) sa_handler /*function, SIG_

Ubuntu Linux筆記本螢幕背光亮度調節

網上有很多在Ubuntu Linux下調節筆記本螢幕亮度的方法,有的調的是亮度但不是背光亮度,有的調背光亮度的方法在我的電腦上不好使……找了半天發現這個方法,適用範圍應該比較廣(起碼在我這裡好用)。首先,進入終端,輸入lspci命令,列出各種裝置的地址www.linxidc.com@Ubuntu:~$ lspci00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express

Linux處理序間通訊:管道(把管道用作標準輸入和標準輸出)

#include<unistd.h>int dup(int file_descriptor);int dup2(int file_descriptor_one , int

linux 訊號量、共用記憶體、和訊息佇列

Linux的訊號量機制#include<sys/sem.h>int semctl(int sem_id , int sem_num , int command , ...);int semget(key_t key , int num_set , int sem_flags);int semop(int sem_id struct sembuf *sem_ops , size_t

Linux系統中完美裝載Windows分區

Linux下的mount命令可以裝載FAT32分區格式Windows分區,但是如何才能在系統啟動時自動裝載呢?如何解決煩人的中文問題呢?如何解決普通使用者(非root)也要自由讀寫Windows分區內容的問題呢?系統啟動後執行下面命令可掛載windows分區:mount -t vfat -o iocharset=gb2312 /dev/hda5 /mnt/dmount -t vfat -o iocharset=gb2312 /dev/hda6 /mnt/emount -t vfat -o

linux 訊息佇列

訊息佇列提供了一種在兩個不相關的進程之間傳遞資料的相當簡單且有效方法。與具名管道相比,訊息佇列的優勢在於,它獨立於發送和接收進程而存在,這消除了在同步具名管道的開啟與關閉的可能產生的一些困難。Linux系統有兩個宏定義MSGMAX和MSGMNB,它們以位元組為單位分別定義了一條訊息的最大長度和一個隊列的最大長度。#include<sys/msg.h>int msgctl(int msgid , int cmd, struct msqid_ds *buf);int

linux下伺服器搭建

mysql+php+apache首先安裝mysql,解壓,安裝,安裝的配置命令如下:./configure --prefix=/home/work/luyao/web/mysql --enable-assembler \--with-mysqld-ldflags=-all-static --localstatedir=/home/work/luyao/web/mysql/data \--with-unix-socket-path=/home/work/luyao/web/mysql.sock -

linux 靜態代碼偵查工具valgrind的安裝及使用

文章目錄 安裝:關於使用: 使用valgrind檢查代碼是否有記憶體泄露是比較好的辦法。下面簡單介紹valgrind的安裝及使用。安裝:最新的版本可以在http://www.cnblogs.com/chingliu/archive/2011/12/10/2288633.html上尋找,下面以3.7為例,簡單介紹:wget http://www.valgrind.org/downloads/valgrind-3.7.0.tar.bz2tar

linux網路通訊再學習

http://xmuzyq.iteye.com/blog/783218該文章詳述了reactor模式和proactor模式,並著重闡述了不同的IO操作。http://blog.csdn.net/shallwake/article/details/5265287這篇博文上使用圖例的方式描述了五種IO模式以及處理過程,可以從這裡詳細瞭解底層的原理。http://www.zhihu.com/question/20122137這篇博文對epoll的解釋堪稱經典~快遞員:)http://www.qingr

Linux經典實用的提示33則

1:HOST的樂趣: Host能夠用來查詢網域名稱,然而它可以得到更多的資訊。host -t mx linux.com可以查詢出Linux.com的MX記錄,以及處理Mail的Host的名字。Host -l linux.com會返回所有註冊在linux.com下的網域名稱。host -a linux.com則會顯示這個主機的所有網域名稱資訊。 2:找到命令需要的檔案,也許你希望搞清楚一個命令它到底使用到了什麼其他相關檔案和命令?試試ldd就可以了。如ldd

在Linux下安裝Oracle9i

在安裝之前有幾個地方需要注意的:你的交換分區最好有一個G左右那麼大,第二你的硬碟分區最好也要有足夠大的空間。下面我那個轉貼的中譯本:1、建立使用者和組:[roko@miniroko] su -[root@miniroko]# groupadd oinstall[root@miniroko]# groupadd dba[root@miniroko]# useradd -g oinstall -G dba oracle[root@miniroko]# passwd

總頁數: 3772 1 .... 296 297 298 299 300 .... 3772 Go to: 前往

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。