linux pid t 頭文件_linux系統調用相關頭文件

Linux C 一些函數 所屬的頭文件 2011-03-07 10:25:07

分類: LINUX

在編寫程序時,有時總是不記得所使用的函數在哪個庫函數中。現在先把自己以前經常用到的函數頭文件總結一下。 有不對的地方還請指教。

1,系統調用 文件的操作函數

#inlclude &ltfcntl.h&gt

int open(char *name,int how) 第二個參數,O_RDONLY O_WRONLY O_RDWR O_CREAT

#include &ltunistd.h&gt

int close(int fd)

size_t read(int fd,void *buf, size_t count)

size_t write(int fd,const void *buf,size_t count)

sleep(1) 系統睡眠一秒鐘,最小單位為一秒。

#define msleep(x) usleep(x*1000)

msleep(500); 系統睡眠0.5秒

#include &ltstdio.h&gt

perror("會出現錯誤的函數名")

#include &ltstring.h&gt

char *strerror(int errnum) 依據錯誤代碼errnum來查找錯誤原因字符串

char *strcpy(char *dest,const char *src)

int strcmp(char *s1,const char *s2) s1若等于s2的值則返回0值

int strncmp(char *s1,const char *s2,int n) 前n個字符串比較

2,進程控制函數

#include &ltunistd.h&gt

pid_t fork(void) 子進程中返回0 父進程中返回子進程ID 出錯返回-1

pid_t getpid(void) pid_t getppid(void)

pid_t vfork(void)

exec函數族

進程pid 的類型為pid_t 類型,它包含于#include &ltsys/types.h&gt 若定義一個進程pid變量,則需要包含此頭文件

exit(n)結束進程 父進程可以由wait函數來獲得子進程結束裝狀態。

在進程結束的時候,會關閉文件描述符號,做一些清理工作,只保留進程返回狀態等信息

調用exit(),子進程會關閉所有打開的進程描述符 exit會作清理工作,比如說,釋放內存(在C++里面會主動的調用析構函數,),關閉文件句柄的工作,包括刷新IO流。

_exit(n)直接退出,不會做一些清理工作,也不會關閉文件描述符。

#include &ltsys/wait.h&gt

pid_t wait(int *status) 等待任意子進程結束。子進程結束狀態值由status返回。

如WEXITSTATUS(status) 可以獲得exit(2)中返回的值,status=2,這樣就可以知道所等待的為哪個進程。如果不用這個宏轉換,則status=512.

pid_t waitpid(pid_t pid,int status,int options) 可以指定等待某個進程號pid的進程結束

在使用 waitpid函數時還用到了pid參數,所以還要加上#include &ltsys/types.h&gt

關于進程等待函數還有很多宏將status轉換為需要的值,需要了解。

3,進程間通信-管道

#include &ltunistd.h&gt

int pipe(int filedes[2])

4,進程間通信-命名管道

#include &ltsys/types.h&gt #include &ltsys/stat.h&gt

int mkfifo(const char *pathname,mode_t mode)

對于命名管道的操作同普通文件的操作

5,消息隊列

數據類型key_t是在頭文件sys/types.h中定義的,它是一個長整形的數據。

key=ftok(".",'A') #include &ltsys/types.h&gt #include &ltsys/ipc.h&gt

所屬頭文件:#include&ltsys/types.h&gt #include &ltsys/ipc.h&gt #include &ltsys/msg.h&gt

int msgid;

msgid=msgget(k

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457348.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457348.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457348.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jsp頁面驗證碼(完整實例)

項目結構如下,MyEclipse中新建一個Web Project,取名servlet 1、src下new一個servlet類 package com.servlet;import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.IOExcept…

開源oa_圈子哥推薦一款基于 Spring Boot 開發 OA 開源產品,學習/搞外快都是不二選擇!...

點擊上方藍字關注「程序員的技術圈子」今天圈子哥給大家推薦一套Spring Boot 開發 OA系統,系統功能齊全,不管是用來學習或者搞外快都是不錯的選擇,clone下來吧!辦公自動化(OA)是面向組織的日常運作和管理,員工及管理者…

iOS網絡編程實踐--NSStream實現TCP Socket iPhone客戶端

客戶端我們使用iPhone應用程序,畫面比較簡單。點擊發送按鈕,給服務器發送一些字符串過去。點擊接收按鈕就會從服務器讀取一些字符串,并且顯示在畫面上。 有關客戶端應用的UI部分不再介紹了,我們直接看代碼部分,Socket客…

Mocha 和 Chai 入門初探

轉載自樓主個人博客 Mocha 和 Chai 入門初探Chai 在和 jest 作比較的時候, 兩者主要的不同就是 jest 的集成度比較高內置斷言庫, 而 mocha 需要搭配額外的斷言庫, 在此選擇了比較流行的 chai 作為斷言庫. 風格的選擇 其中 chai 又有好幾種斷言風格, 我們經常見到的其實就是 BDD…

ios把數據傳遞到另一個頁面_IOS 應用之間的跳轉和數據傳遞詳解

說明:本文介紹app如何打開另一個app,并且傳遞數據。一、簡單說明新建兩個應用,分別為應用A和應用B.實現要求:在appA的頁面中點擊對應的按鈕,能夠打開appB這個應用。1.新建兩個應用,分別為A和B.142354418874108[1].png150002248248…

Libevent初探

Libevent 是一個用C語言編寫的、輕量級的開源高性能網絡庫,主要有以下幾個亮點:事件驅動( event-driven),高性能;輕量級,專注于網絡,不如 ACE 那么臃腫龐大;源代碼相當精煉、易讀&am…

ServerSocketChannel API用法

java.nio.channels 類 ServerSocketChannel java.lang.Objectjava.nio.channels.spi.AbstractInterruptibleChanneljava.nio.channels.SelectableChanneljava.nio.channels.spi.AbstractSelectableChanneljava.nio.channels.ServerSocketChannel所有已實現的接口: C…

jq分頁 不刷新頁面_jQuery無刷新分頁完整實例代碼

本文實例講述了jQuery無刷新分頁實現方法。分享給大家供大家參考,具體如下:這款jQuery分頁示例,是分頁經典形式,兼容性也做的好,網頁上的分頁代碼,分享給大家。運行效果截圖如下:在線演示地址如…

為什么要寫年終總結

2016只剩下不到百分之一的時間了,網上陸續看到各種企業或個人的總結或盤點,公司也必須規定每個員工要做年度工作總結,或許是環境釋然,心里也有無數次要做總結的念頭,尤其是月末年末這種感覺更重,但卻沒靜下…

特別慢_背什么都特別慢,該怎么提高記憶力?

考研是一項全方位的比拼,除了每天進行知識點的復習,還要做題、總結,最后還得進行背誦記憶,其實什么科目都需要背的,就算數學,該記的概念和公式也是要記憶的,因為會做題更快,提高效率…

tiny4412u-boot燒寫及根文件系統制作(不進入終端問題)

http://m.blog.csdn.net/article/details?id51400196(轉) VMware12 環境:ubuntu12.4 開發板:tiny4412 首先燒寫bootloader,我用一個8G的內存卡,現在不說sd卡的制作過程了,網上可以參考。 現在就…

第三章 中間件,3.1 萬億級數據洪峰下的分布式消息引擎(作者:馮嘉、誓嘉、塵央、牟羽)...

3.1 萬億級數據洪峰下的分布式消息引擎 前言 通過簡單回顧阿里中間件(Aliware)消息引擎的發展史,本文開篇于雙11消息引擎面臨的低延遲挑戰,通過經典的應用場景闡述可能會面臨的問題 - 響應慢,雪崩,用戶體驗差,繼而交易…

Linux目錄結構和常用命令

一、Linux目錄結構 你想知道為什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目錄下嗎?例如,less命令位于/usr/bin目錄下。為什么沒在/bin中,或/sbin,或/usr/sbin目錄中&#xff1…

掛載nfs文件系統_綜合架構-day38-NFS服務補充

1.如何讓nfs永久掛載-2種方法開機自啟動文件1.vim /etc/rc.d/rc.local需要修改執行權限chmod x /etc/rc.d/rc/localmount -t nfs 172.16.1.31:/upload/ /mnt/2.vim /etc/fstab172.16.1.31:/upload /mnt nfs defaults 0 02.exportfs 加載配置生效,等價于優雅重啟[15:…

A Neural Algorithm of Artistic Style

本系列文章由 yhl_leo 出品,轉載請注明出處。 文章鏈接: http://blog.csdn.net/yhl_leo/article/details/53931536 1. 資源 Paper: A Neural Algorithm of Artistic StyleTensorFlow version in GitHub: anishathalye/neural-styleCaffe version in GitH…

CSS布局奇淫技巧之--各種居中

居中是我們使用css來布局時常遇到的情況。使用css來進行居中時,有時一個屬性就能搞定,有時則需要一定的技巧才能兼容到所有瀏覽器,本文就居中的一些常用方法做個簡單的介紹。 注:本文所講方法除了特別說明外,都是兼容I…

手寫數字識別中多元分類原理_廣告行業中那些趣事系列:從理論到實戰BERT知識蒸餾...

導讀:本文將介紹在廣告行業中自然語言處理和推薦系統實踐。本文主要分享從理論到實戰知識蒸餾,對知識蒸餾感興趣的小伙伴可以一起溝通交流。摘要:本篇主要分享從理論到實戰知識蒸餾。首先講了下為什么要學習知識蒸餾。一切源于業務需求&#…

linux zip/unzip命令

2019獨角獸企業重金招聘Python工程師標準>>> 語  法&#xff1a;zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目錄>][-ll][-n <字 尾字符串>][-t <日 期時間>][-<壓 縮效率>][壓 縮文件][文件...][-i <范本樣式>][-x <范本樣式…

離散事件模擬

1. 離散事件系統模擬 被模擬系統的行為&#xff1a; 可以抽象為一些離散事件的發生&#xff1b;所發生事件可以引發新的事件&#xff08;拓撲序&#xff09;&#xff1b;人們希望通過計算機模擬理解系統行為&#xff0c;評價或設計真實世界中實際的或所需的系統&#xff1b;適用…

epoll邊緣觸發_C++回聲服務器_9-epoll邊緣觸發模式版本服務器

epoll默認情況下是水平觸發模式&#xff0c;這次將epoll設置為邊緣觸發模式來實現服務器&#xff0c;而客戶端直接使用完美回聲服務器的客戶端。服務器代碼#include #include #include #include #include #include #include #include #include const int BUF_SIZE 4;const int…