原创 Linux進程間通信之命名管道(FIFO)

上一篇講的是管道(pipe),也提到過管道最大的缺點是沒有名字,因此只能用於具有親子關係的進程之間。何爲”沒有名字“?使用過Linux系統的人,一定都聽說過一句話:在Linux系統中一切皆文件。對於這裏所說的”文件“,系統中都會有個名字與

原创 手把手教你玩轉GDB(四)—函數調用棧(call stack)探密

本文是GDB系列的第四篇,感興趣的朋友可以閱讀本系列的前三篇。本文的主要內容是講如何用GDB來查看C/C++程序中函數調用棧(call stack)的相關信息,通過介紹一些相關的命令及其用法,讓讀者朋友能夠循序漸進了解調用棧的各個方面,

原创 Documentation/filesystems/sysfs.txt譯文

爲什麼翻譯此文? 網絡上關於sysfs的這篇譯文有很多,爲什麼還要多此一舉呢? 一來是覺得閱讀原版的文檔更加有助於理解,二來計劃兩個月後參加託業考試。英語已經放下好幾年了,想要儘快的拾起來。 sysfs是什麼: sysfs是一個基於ram

原创 Linux進程間通信之管道(pipe)

管道是UNIX系統IPC的最古老的形式,並且所有UNIX系統都提供此種通信機制。但是管道存在如下特點: 管道是半雙工的。管道只能用在具有公共祖先的進程之間。管道的創建 管道是通過調用pipe函數創建的: #include <unistd.

原创 手把手教你玩轉GDB(三)—常用命令

本文是手把手教你玩轉GDB的第三篇,主要內容是介紹一些在程序調試過程中最常用的GDB命令,廢話不多話,開始今天的正題。    1. attach process-id/detach: (1)attach process-id:

原创 xxx is not in the sudoers file. This incident will be reported的解決方法

我們在Linux系統上執行sudo命令時,有時候會報如下錯誤:xxx is not in the sudoers file. This incident will be reported。出現這個問題,是因爲執行sudo命令的用戶不在su

原创 Linux中進程的優先級

Linux採用兩種不同的優先級範圍,一種是nice值,另一種是實時優先級。 1.nice值 nice值得範圍是-20~19,默認值是0。越大的nice值意味着更低的優先級,也就是說nice值爲-20的優先級最高。 2.實時優先級 實時優先

原创 手把手教你搭建vim的IDE環境

提到IDE編程環境,大家首先想到的應該就是VS,eclipse之類。而對於vim,在大家的印象中就是一個黑框,操作複雜,難以掌握。 其實不然,vim同樣可以配置成IDE環境。並且,vim解放了右手,對於工作效率會有很好的提升。 國際慣例,

原创 手把手教你玩轉GDB(二)—Breakpoint, Watchpoint和Catchpoint

本文是《手把手教你玩轉GDB》系列的第二篇,主要內容是用GDB調試程序中比較常用到的斷點(breakpoint)、監視點(watchpoint)和捕捉點(catchpoint)。雖然說這三類point的功能是不一樣的,但它們的用法卻極爲

原创 linux虛擬機上使用git和github教程

1. GIT是什麼? Git是一個分佈式版本控制/軟件配置管理軟件,原是Linux內核開發者Linus Torvalds爲更好地管理Linux內核開發而設計。 相比CVS/SVN,Git 的優勢: - 支持離線開發,離線Repositor

原创 Linux任務調度(三)—anacron

本文是《Linux任務調度》的第三部分,說明Linux中可喚醒停機期間的任務調度的實現方法。 可喚醒停機期間的工作任務 如果你的 Linux 主機是作爲 24 小時全天、全年無休的服務器之用,那麼你只要有 atd 與 crond 這兩個

原创 vim常用命令彙總(持續更新)

但凡使用linux的人,肯定少不了使用vim。我本人windows上的文本編輯器使用的也是vim。 個人感覺,vim熟練使用之後,工作效率確實提高了不少。現將工作中常用的命令進行彙總,以免忘掉。 如果覺得這些命令比較基礎,可以下載中文版v

原创 GDB調試fork+exec創建的子進程的方法

多進程是Linux編程中一個很重要的內容,典型的例子就是守護進程(daemon)。有關守護進程的定義和編程規範,請參考: http://blog.csdn.net/tuzhutuzhu/article/details/19092211 最

原创 Linux任務調度(一)—at

在 Linux 系統上,許多管理任務必須頻繁地定期執行。 這些任務包括輪轉日誌文件以避免裝滿文件系統、備份數據和連接時間服務器來執行系統時間同步。 根據任務定期執行的需求不同,分爲如下三種:一次性任務,週期性任務和可喚醒停機期間的任務。

原创 Linux任務調度(二)—cron

本文是《Linux任務調度》的第二部分,主要說明Linux中週期性任務調度的實現方法。 循環運行的週期性工作排程 相對於 at 是僅運行一次的工作,循環運行的週期性工作排程則是由 cron (crond) 這個系統服務來控制的。剛剛談過