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系統程式設計 第二版
42
|
第二章
EBADF
所指定的「檔案描述器」無效或者未開啟以備寫入。
EFAULT
buf
所提供的指標,並非指向進行呼叫之行程的位址空間範圍內。
EFBIG
寫入操作所產生的檔案大小,超過了每行程檔案大小上限,或內部所實施的限制。
EINVAL
所指定的「檔案描述器」被映射到一個不適合進行寫入操作的物件。
EIO
發生了一個低階的 I/O 錯誤。
ENOSPC
檔案系統於背後所指定「檔案描述器」沒有足夠的空間可用。
EPIPE
所指定的「檔案描述器」映射到讀取端已經關閉的 pipe socket。此時,行程還會
收到
SIGPIPE
信號。
SIGPIPE
信號的預定行動是終止收到信號的行程。因此,只有在
「行程被明確要求去忽略、阻擋或處理
SIGPIPE
信號」的狀況下,行程才會收到此
errno
值。
write() 的位元組數目限制
count
引數值大於
SSIZE_MAX
,則
write()
呼叫的結果未定義。
呼叫
write()
時,若把
count
設為
0
,則此呼叫會立即傳回
0
這個值。
write() 的行為
write()
呼叫返回時,核心已經把緩衝區所提供的資料複製到核心的緩衝區,但是無
法保證資料已經寫出到其預定的目的地。的確,寫入呼叫返回的速度實在太快了,可能
沒有時間完成該項工作。處理器和硬碟之間效能的差異,使得此類令人頭痛的行為顯而
易見。
檔案 I/O
|
43
事實上,如果用戶空間應用程式進行
write()
系統呼叫,Linux 核心會先進行若干檢
查,接著把資料複製到緩衝區。之後,核心會在背景中收集所有「遭到改變」 ...
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