Skip to Content
LINUX系統程式設計 第二版
book

LINUX系統程式設計 第二版

by Robert Love
December 2013
Intermediate to advanced
496 pages
8h 57m
Chinese
GoTop Information, Inc.
Content preview from LINUX系統程式設計 第二版
檔案與目錄的管理
|
301
fd = open (argv[1], O_RDONLY | O_NONBLOCK);
if (fd < 0) {
perror ("open");
return 1;
}
/* 送出彈出命令給 CD-ROM 裝置。 */
ret = ioctl (fd, CDROMEJECT, 0);
if (ret) {
perror ("ioctl");
return 1;
}
ret = close (fd);
if (ret) {
perror ("close");
return 1;
}
return 0;
}
CDROMEJECT
要求」係 Linux CD-ROM 裝置驅動程式所提供的一個功能。當核心收
到一個
ioctl()
要求時,它會找到負責處理所提供之檔案描述器的檔案系統(就正規檔
案而言)或裝置驅動程式(就裝置節點而言),然後把要求傳遞給它們處理。就此例而
言, CD-ROM 裝置驅動程式會收到要求並且彈出光碟機。
本章稍後我們將看到一個
ioctl()
的例子,這個例子會使用一個選項參數傳回資訊給發
出要求的行程。
監視檔案事件
Linux 提供了一個介面,
inotify
,可用於監視檔案—例如,監視檔案何時被移動、讀取、
寫入或刪除。假設你正在撰寫一個圖形化檔案管理程式,例如 GNOME 的檔案管理程
式。當檔案管理程式正在顯示一個目錄的內容時,如果有一個檔案被複製到該目錄,則
檔案管理程式所看到的目錄與實際的目錄會出現不一致的現象。
一個解決方案就是不斷重讀目錄的內容、偵測變動以及更新所顯示的內容 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

優雅的SciPy|Python科學研究的美學

優雅的SciPy|Python科學研究的美學

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9789862769812