亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Linux進(jìn)程間通信(IPC)的幾種方式總結(jié)

 更新時(shí)間:2023年09月07日 08:42:40   作者:fliter  
進(jìn)程間通信是指至少兩個(gè)進(jìn)程或線程間傳送數(shù)據(jù)或信號(hào)的一些技術(shù)或方法,每個(gè)進(jìn)程都有自己的一部分獨(dú)立的系統(tǒng)資源,彼此是隔離的,為了能使不同的進(jìn)程互相訪問資源并進(jìn)行協(xié)調(diào)工作,才有了進(jìn)程間通信,本文就給大家介紹幾種Linux進(jìn)程間通信的方式,需要的朋友可以參考下

概述:

進(jìn)程間通信(IPC,Inter-Process Communication),指至少兩個(gè)進(jìn)程或線程間傳送數(shù)據(jù)或信號(hào)的一些技術(shù)或方法。進(jìn)程是計(jì)算機(jī)系統(tǒng)分配資源的最小單位(進(jìn)程是分配資源最小的單位,而線程是調(diào)度的最小單位,線程共用進(jìn)程資源)。每個(gè)進(jìn)程都有自己的一部分獨(dú)立的系統(tǒng)資源,彼此是隔離的。為了能使不同的進(jìn)程互相訪問資源并進(jìn)行協(xié)調(diào)工作,才有了進(jìn)程間通信。

主要方法:

管道:

分為兩種,

軟管道: 如 ps -ef | grep xxxx,

硬管道

消息隊(duì)列:

內(nèi)核創(chuàng)建一個(gè)消息隊(duì)列,操作系統(tǒng)中的多個(gè)進(jìn)程都可以操作這個(gè)消息隊(duì)列.可以向其發(fā)送消息,也可從中接收消息.

共享內(nèi)存:

每個(gè)進(jìn)程都有一個(gè)虛擬內(nèi)存地址和物理內(nèi)存地址的映射,一般兩個(gè)進(jìn)程的映射的物理內(nèi)存地址是不同的,共享內(nèi)存即是將其映射的物理內(nèi)存地址變成一樣的.這樣兩個(gè)進(jìn)程就可以訪問相同的物理內(nèi)存,也就可以實(shí)現(xiàn)進(jìn)程之間的通信.

套接字:

非常常見,如通過3306端口訪問某個(gè)遠(yuǎn)程mysql服務(wù), 我訪問mysql的這個(gè)進(jìn)程,和遠(yuǎn)程的這個(gè)mysql服務(wù)的進(jìn)程之間的通信,就是通過3306端口創(chuàng)建的TCP的套接字.

如果是訪問本機(jī)的mysql服務(wù),則不會(huì)走TCP套接字,而是走Linux底層的套接字

信號(hào)量:

類似一個(gè)計(jì)數(shù)器.控制多個(gè)進(jìn)程對(duì)一個(gè)共享資源的訪問.

信號(hào):

一個(gè)進(jìn)程可以向另一個(gè)進(jìn)程發(fā)送一個(gè)信號(hào).通過kill -l指令可以列出所有的信號(hào)

(64種死法...)

Linux中的信號(hào) 大多數(shù)作用是把一個(gè)進(jìn)程殺死,于是叫kill了..

當(dāng)tail -f xxx文件時(shí),是會(huì)一直是阻塞. 如何結(jié)束? 一般會(huì)按ctrl+c,

其實(shí)該命令就是當(dāng)前的shell($$可以看到當(dāng)前shell的pid),向tail -f進(jìn)程發(fā)送了一個(gè)信號(hào),該信號(hào)值是2,即SIGINT

kill -9 pid, 9號(hào)信號(hào)是SIGKILL.

如果不加,則默認(rèn)15號(hào)信號(hào)SIGTERM(即Terminal)

9號(hào)信號(hào)即kill信號(hào)是不能被捕捉的,必須強(qiáng)制停止. 其他信號(hào)可以在程序中捕捉到.

ctrl+c : SIGINT

kill不帶參數(shù): SIGTERM

KILL -9: SIGKILL

到此這篇關(guān)于Linux進(jìn)程間通信(IPC)的幾種方式總結(jié)的文章就介紹到這了,更多相關(guān)Linux進(jìn)程通信內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Apache偽靜態(tài)Rewrite詳解

    Apache偽靜態(tài)Rewrite詳解

    這篇文章主要介紹了Apache偽靜態(tài)Rewrite的相關(guān)知識(shí)以及使用方法和使用實(shí)例,需要的朋友可以參考下
    2014-03-03
  • Linux VPS下SSH常用命令整理

    Linux VPS下SSH常用命令整理

    學(xué)習(xí)完如何使用Putty遠(yuǎn)程(SSH)管理Linux VPS,今天繼續(xù)為VPSer新手們整理一篇關(guān)于Linux VPS下SSH常用命令。
    2010-12-12
  • 詳解CentOS7 安裝 MariaDB 10.2.4的方法

    詳解CentOS7 安裝 MariaDB 10.2.4的方法

    這篇文章主要介紹了CentOS7 安裝 MariaDB 10.2.4的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • linux 定時(shí)休眠的實(shí)現(xiàn)思路

    linux 定時(shí)休眠的實(shí)現(xiàn)思路

    這篇文章主要介紹了linux 定時(shí)休眠的實(shí)現(xiàn)思路,休眠的類型有三種類型,文章對(duì)每種類型介紹的都很詳細(xì),需要的朋友可以參考下
    2018-07-07
  • 從Windows到Linux的三種文件傳輸實(shí)現(xiàn)方式

    從Windows到Linux的三種文件傳輸實(shí)現(xiàn)方式

    文章介紹了在跨平臺(tái)工作環(huán)境中將文件從Windows系統(tǒng)傳輸?shù)絃inux服務(wù)器的幾種方法,包括使用SCP命令、搭建Web服務(wù)和使用wget下載文件,每種方法都有其特點(diǎn),如安全性、速度、易用性和適用場(chǎng)景等
    2024-12-12
  • 查看linux文件的命令詳解

    查看linux文件的命令詳解

    在本篇文章里小編給大家整理的是關(guān)于查看linux文件的命令總結(jié)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • Linux修改dmesg輸出的日志級(jí)別的步驟詳解

    Linux修改dmesg輸出的日志級(jí)別的步驟詳解

    要修改 /proc/sys/kernel/printk 文件的內(nèi)容以更改 dmesg 輸出的級(jí)別,可以通過命令行進(jìn)行操作,這個(gè)文件包含四個(gè)值,分別代表內(nèi)核消息的不同級(jí)別,本文給大家介紹了Linux修改dmesg輸出的日志級(jí)別的步驟,需要的朋友可以參考下
    2024-07-07
  • Linux新建虛擬機(jī)Ubuntu的圖文教程

    Linux新建虛擬機(jī)Ubuntu的圖文教程

    這篇文章主要詳細(xì)介紹了Linux新建虛擬機(jī)Ubuntu的教程,文章通過圖文結(jié)合的方式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-09-09
  • Linux inotify實(shí)時(shí)備份實(shí)現(xiàn)方法詳解

    Linux inotify實(shí)時(shí)備份實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Linux inotify實(shí)時(shí)備份實(shí)現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • linux服務(wù)器顯卡崩潰解決方案

    linux服務(wù)器顯卡崩潰解決方案

    這篇文章主要介紹了linux服務(wù)器顯卡崩潰解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評(píng)論