訊號通訊
方式:
訊號型別:
下面是幾種常見的訊號:
§ sighup: 從終端上發出的結束訊號
§ sigint: 來自鍵盤的中斷訊號(ctrl-c)
§ sigkill:該訊號結束接收訊號的程序,殺死程序
§ sigterm:kill 命令發出的訊號
§ sigchld:子程序停止或結束時通知父程序
§ sigstop:來自鍵盤(ctrl-z)或除錯程式的停止執行訊號,暫停程序
3.kill
函式的作用:傳送訊號給指定的程序
函式的原型:int kill(pid_t pid,int sig)
函式的引數:pid > 0 指定的程序的pid
pid = 0 傳送給目前程序相同組的所有程序
pid = -1 廣播給系統內所有的程序
pid < 0
sig : 訊號
返 回 值:成功 0 出錯 -1
頭 文 件:#include
#include
#include #include #include #include #include int main()
if(pid == 0)
else
else}}
4.raise函式的作用:傳送訊號給自身函式的原型:int raise(int sig)
頭 文 件:#include
#include #include #include #include #include #include #include #include int main()
if(pid == 0)
else
waitpid(pid, null, 0);
exit(0);}}
5.alarm函式的作用:設定訊號傳送鬧鐘
函式的原型:unsigned int alarm(unsigned int seconds)
返 回 值:返回之前鬧鐘的剩餘秒數,如果之前未設鬧鐘則返回0
#include #include #include void handle()
int main()
}
6.pause函式的作用:讓程序暫停,直到訊號的出現函式的原型:int pause(void);返 回 值:-1
頭 文 件:#include
7.signal
函式的作用:設定訊號處理方式
函式的原型:void (* signal(int signum,void(*handler)(int))(int)
typedef void(*sighandler_t)(int)
sighandler_t signal(int signum,sighandler_t handler);
程序之間通訊
之所以開啟子程序 肯定需要他幫我們完成任務,很多情況下,需要將資料返回給父程序。然而程序記憶體是物理隔離的 1.將共享資料放在檔案中,就是慢 2.管道subprocess 中那個管道只能單向通訊,必須有父子關係 3.共享一塊記憶體區域 得作業系統幫你分配,速度快 from multiprocessi...
WPF程序之間通訊
準備 使用copydata,wm user只能用於應用程式內部的通訊,跨程序用copydata public const int wm copydata 0x004a 查詢目標傳送窗體 dllimport user32.dll entrypoint findwindow public static ...
程序之間的通訊方式
1 管道 pipe 管道可用於具有親緣關係程序間的通訊,允許乙個程序和另乙個與它有共同祖先的程序之間進行通訊。2 命名管道 name pipe 命名管道克服了沒有名字的限制,因此,除了具有管道所擁有的功能外,它還允許無親緣關係程序間同通訊。命名管道在檔案系統中有對應的檔名。命名管道通過命令mkfif...