?? linux 常用c函數(shù)(中文版)-信號處理.htm
字號:
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc248></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD><FONT face=宋體 size=2><BR>sigemptyset(初始化信號集) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關(guān)函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體
size=2>sigaddset,sigfillset,sigdelset,sigismember<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>#include<signal.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>int sigemptyset(sigset_t *set);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>函數(shù)說明 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>sigemptyset()用來將參數(shù)set信號集初始化并清空。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>執(zhí)行成功則返回0,如果有錯誤則返回-1。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>錯誤代碼 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>EFAULT 參數(shù)set指針地址無法存取<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc249></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD><FONT face=宋體 size=2><BR>sigfillset(將所有信號加入至信號集) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關(guān)函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體
size=2>sigempty,sigaddset,sigdelset,sigismember<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>#include<signal.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>int sigfillset(sigset_t * set);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>函數(shù)說明 </FONT></DIV></TD>
<TD><FONT face=宋體
size=2>sigfillset()用來將參數(shù)set信號集初始化,然后把所有的信號加入到此信號集里。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>執(zhí)行成功則返回0,如果有錯誤則返回-1。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>附加說明 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>EFAULT 參數(shù)set指針地址無法存取<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc250></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD><FONT face=宋體 size=2><BR>sigismember(測試某個信號是否已加入至信號集里) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關(guān)函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體
size=2>sigemptyset,sigfillset,sigaddset,sigdelset<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>#include<signal.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>int sigismember(const sigset_t *set,int
signum);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>函數(shù)說明 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>sigismember()用來測試參數(shù)signum
代表的信號是否已加入至參數(shù)set信號集里。如果信號集里已有該信號則返回1,否則返回0。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>信號集已有該信號則返回1,沒有則返回0。如果有錯誤則返回-1。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>錯誤代碼 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>EFAULT 參數(shù)set指針地址無法存取<BR>EINVAL 參數(shù)signum
非合法的信號編號<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc251></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD><FONT face=宋體 size=2><BR>signal(設(shè)置信號處理方式) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關(guān)函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>sigaction,kill,raise<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>#include<signal.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>void (*signal(int signum,void(*
handler)(int)))(int);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>函數(shù)說明 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>signal()會依參數(shù)signum
指定的信號編號來設(shè)置該信號的處理函數(shù)。當(dāng)指定的信號到達(dá)時就會跳轉(zhuǎn)到參數(shù)handler指定的函數(shù)執(zhí)行。如果參數(shù)handler不是函數(shù)指針,則必須是下列兩個常數(shù)之一:<BR>SIG_IGN
忽略參數(shù)signum指定的信號。<BR>SIG_DFL 將參數(shù)signum
指定的信號重設(shè)為核心預(yù)設(shè)的信號處理方式。<BR>關(guān)于信號的編號和說明,請參考附錄D<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
<TD><FONT face=宋體
size=2>返回先前的信號處理函數(shù)指針,如果有錯誤則返回SIG_ERR(-1)。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>附加說明 </FONT></DIV></TD>
<TD><FONT face=宋體
size=2>在信號發(fā)生跳轉(zhuǎn)到自定的handler處理函數(shù)執(zhí)行后,系統(tǒng)會自動將此處理函數(shù)換回原來系統(tǒng)預(yù)設(shè)的處理方式,如果要改變此操作請改用sigaction()。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>范例 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>參考alarm()或raise()。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc252></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD><FONT face=宋體 size=2><BR>sigpending(查詢被擱置的信號) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關(guān)函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體
size=2>signal,sigaction,sigprocmask,sigsuspend<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>#include<signal.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>int sigpending(sigset_t *set);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>函數(shù)說明 </FONT></DIV></TD>
<TD><FONT face=宋體
size=2>sigpending()會將被擱置的信號集合由參數(shù)set指針返回。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>返回值執(zhí) </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>行成功則返回0,如果有錯誤則返回-1。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>錯誤代碼 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>EFAULT 參數(shù)set指針地址無法存取<BR>EINTR
此調(diào)用被中斷。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc253></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD><FONT face=宋體 size=2><BR>sigprocmask(查詢或設(shè)置信號遮罩) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關(guān)函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體
size=2>signal,sigaction,sigpending,sigsuspend<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>#include<signal.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>int sigprocmask(int how,const sigset_t
*set,sigset_t * oldset);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>函數(shù)說明 </FONT></DIV></TD>
<TD><FONT face=宋體
size=2>sigprocmask()可以用來改變目前的信號遮罩,其操作依參數(shù)how來決定<BR>SIG_BLOCK
新的信號遮罩由目前的信號遮罩和參數(shù)set 指定的信號遮罩作聯(lián)集<BR>SIG_UNBLOCK
將目前的信號遮罩刪除掉參數(shù)set指定的信號遮罩<BR>SIG_SETMASK
將目前的信號遮罩設(shè)成參數(shù)set指定的信號遮罩。<BR>如果參數(shù)oldset不是NULL指針,那么目前的信號遮罩會由此指針返回。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>執(zhí)行成功則返回0,如果有錯誤則返回-1。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>錯誤代碼 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>EFAULT 參數(shù)set,oldset指針地址無法存取。<BR>EINTR
此調(diào)用被中斷<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc254></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD><FONT face=宋體 size=2><BR>sleep(讓進(jìn)程暫停執(zhí)行一段時間) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關(guān)函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>signal,alarm<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>#include<unistd.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>unsigned int sleep(unsigned int
seconds);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>函數(shù)說明 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>sleep()會令目前的進(jìn)程暫停,直到達(dá)到參數(shù)seconds
所指定的時間,或是被信號所中斷。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>若進(jìn)程暫停到參數(shù)seconds
所指定的時間則返回0,若有信號中斷則返回剩余秒數(shù)。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋體 size=2><A
name=linuxc255></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2><BR></FONT></DIV></TD>
<TD><FONT face=宋體 size=2><BR>ferror(檢查文件流是否有錯誤發(fā)生) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>相關(guān)函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>clearerr,perror<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>表頭文件 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>#include<stdio.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>定義函數(shù) </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>int ferror(FILE *stream);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>函數(shù)說明 </FONT></DIV></TD>
<TD><FONT face=宋體
size=2>ferror()用來檢查參數(shù)stream所指定的文件流是否發(fā)生了錯誤情況,如有錯誤發(fā)生則返回非0值。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋體 size=2>返回值 </FONT></DIV></TD>
<TD><FONT face=宋體 size=2>如果文件流有錯誤發(fā)生則返回非0值。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -