版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
linux進(jìn)程間通信信號(hào)共享內(nèi)存消息隊(duì)列軟帝信息科技http
信號(hào)通信信號(hào)概述信號(hào)是
中斷。信號(hào)(signal)機(jī)制是Unix系統(tǒng)中最為古老的進(jìn)程之間的通信機(jī)制。它用于在一個(gè)或多個(gè)進(jìn)程之間傳遞異步信號(hào)。很多條件可以產(chǎn)生一個(gè)信號(hào)。當(dāng)用戶按某些終端鍵時(shí),產(chǎn)生信號(hào)。在終端上按DELETE鍵通常產(chǎn)生中斷信號(hào)(SIGINT)。這是停止一個(gè)已失去控制程序的方法。硬件異常產(chǎn)生信號(hào):除數(shù)為0、無(wú)效的
等等。這些條件通常由硬件檢測(cè)到,并將其通知內(nèi)核。然后內(nèi)核為該條件發(fā)生時(shí)正在運(yùn)行的進(jìn)程產(chǎn)生適當(dāng)?shù)男盘?hào)。例如,對(duì)執(zhí)行一個(gè)無(wú)效
訪問(wèn)的進(jìn)程產(chǎn)生一個(gè)SIGSEGV。軟帝信息科技http
進(jìn)程用kill(2)函數(shù)可將信號(hào)發(fā)送給另一個(gè)進(jìn)程或進(jìn)程組。自然,有些限制:接收信號(hào)進(jìn)程和發(fā)送信號(hào)進(jìn)程的所有者必須相同,或發(fā)送信號(hào)進(jìn)程的所有者必須是超級(jí)用戶。用戶可用kill(
1
)命令將信號(hào)發(fā)送給其他進(jìn)程。此程序是kill函數(shù)的界面。常用此命令終止一個(gè)失控的 進(jìn)程。當(dāng)檢測(cè)到某種條件已經(jīng)發(fā)生,并將其通知有關(guān)進(jìn)程時(shí)也產(chǎn)生信號(hào)。這里并不是指硬件產(chǎn)生條件(如被0除),而是條件。例如SIGURG(在網(wǎng)絡(luò)連接上傳來(lái)非規(guī)定波特率的數(shù)據(jù))、SIGPIPE(在管道的讀進(jìn)程已終止后一個(gè)進(jìn)程寫此管道),以及SIGALRM(進(jìn)程所設(shè)置的鬧鐘時(shí)間已經(jīng)超時(shí))。軟帝信息科技http
內(nèi)核為進(jìn)程生產(chǎn)信號(hào),來(lái)響應(yīng)不同的事件,這些事件就是信號(hào)源。主要的信號(hào)源如下:異常:進(jìn)程運(yùn)行過(guò)程中出現(xiàn)異常;其它進(jìn)程:一個(gè)進(jìn)程可以向另一個(gè)或一組進(jìn)程發(fā)送信號(hào);終端中斷:Ctrl-C,Ctrl-\等;作業(yè)控制:前臺(tái)、
進(jìn)程的管理;分
:CPU超時(shí)或文件大小突破限制;通知:通知進(jìn)程某事件發(fā)生,如I/O就緒等;:計(jì)時(shí)器到期。軟帝信息科技http
Linux中的信號(hào):1)
SIGHUP5)
SIGTRAP9)
SIGKILL13)
SIGPIPE17)
SIGCHLD21)
SIGTTIN25)
SIGXFSZ29)
SIGIO3)
SIGQUIT7)
SIGBUS11)
SIGSEGV4)
SIGILL8)
SIGFPE12)
SIGUSR22)
SIGINT6)
SIGABRT10)
SIGUSR114)
SIGALRM18)
SIGCONT22)
SIGTTOU15)
SIGTERM19)
SIGSTOP23)
SIGURG16)
SIGSTKFLT20)
SIGTSTP24)
SIGXCPU26)
SIGVTALRM 27)
SIGPROF30)
SIGPWR 31)
SIGSYS28)
SIGWINCHKill-l
命令顯示系統(tǒng)信號(hào)1-31不可靠信號(hào)34-64
可靠信號(hào)可靠信號(hào)支持多次
,排隊(duì)處理軟帝信息科技http
下面是幾個(gè)常見(jiàn)的信號(hào)。SIGHUP:從終端上發(fā)出的結(jié)束信號(hào);SIGINT:來(lái)自鍵盤的中斷信號(hào)(Ctrl-C);SIGQUIT:來(lái)自鍵盤的退出信號(hào)(Ctrl-\);SIGFPE:浮點(diǎn)異常信號(hào)(例如浮點(diǎn)運(yùn)算溢出);SIGKILL:該信號(hào)結(jié)束接收信號(hào)的進(jìn)程;SIGALRM:進(jìn)程的定時(shí)器到期時(shí),發(fā)送該信號(hào);SIGTERM:kill
命令發(fā)出的信號(hào);SIGCHLD:標(biāo)識(shí)子進(jìn)程停止或結(jié)束的信號(hào);SIGSTOP:來(lái)自鍵盤(Ctrl-Z)或調(diào)試程序的停止執(zhí)行信號(hào)…………軟帝信息科技http
信號(hào)生命周期軟帝信息科技http
可以要求系統(tǒng)在某個(gè)信號(hào)出現(xiàn)時(shí)按照下列三種方式中的一種進(jìn)行操作。忽略此信號(hào)。大多數(shù)信號(hào)都可使用這種方式進(jìn)行處理,但有兩種信號(hào)卻決不能被忽略。它們是:SIGKILL和SIGSTOP。這兩種信號(hào)不能被忽略的原因是:它們向超級(jí)用戶提供一種使進(jìn)程終止或停止的可靠方法。另外,如果忽略某些由硬件異常產(chǎn)生的信號(hào)(例如
存儲(chǔ)
或除以0),則進(jìn)程的行為是未定義的。捕捉信號(hào)。為了做到這一點(diǎn)要通知內(nèi)核在某種信號(hào)發(fā)生時(shí),調(diào)用一個(gè)用戶函數(shù)。在用戶函數(shù)中,可執(zhí)行用戶希望對(duì)這種事件進(jìn)行的處理。如果捕捉到SIGCHLD信號(hào),則表示子進(jìn)程已經(jīng)終止,所以此信號(hào)的捕捉函數(shù)可以調(diào)用waitpid以取得該子進(jìn)程的進(jìn)程ID以及它的終止?fàn)顟B(tài)。執(zhí)行系統(tǒng)默認(rèn)動(dòng)作。對(duì)大多數(shù)信號(hào)的系統(tǒng)默認(rèn)動(dòng)作是終止該進(jìn)程。軟帝信息科技http
每一個(gè)信號(hào)都有一個(gè)缺省動(dòng)作,它是當(dāng)進(jìn)程沒(méi)有給這個(gè)信號(hào)指定處理程序時(shí),內(nèi)核對(duì)信號(hào)的處理。有5種缺省的動(dòng)作:異常終止(abort):在進(jìn)程的當(dāng)前
下,把進(jìn)程的地址空間內(nèi)容、寄存器內(nèi)容保存到一個(gè)叫做core的文件中,而后終止進(jìn)程。退出(exit):不產(chǎn)生core文件,直接終止進(jìn)程。忽略(ignore):忽略該信號(hào)。停止(stop):掛起該進(jìn)程。繼續(xù)(continue):如果進(jìn)程被掛起,則恢復(fù)進(jìn)程的運(yùn)行。否則,忽略信號(hào)。軟帝信息科技http
信號(hào)發(fā)送與捕捉kill()和raise()kill()不僅可以中止進(jìn)程,也可以向進(jìn)程發(fā)送其他信號(hào)。與kill函數(shù)不同的是,raise()函數(shù)運(yùn)行向進(jìn)程自身發(fā)送信號(hào)。#include
<sys/types.h>#include
<signal.h>int
kill(pid_t
pid,
int
signo)
;int
raise(int
signo)
;兩個(gè)函數(shù)返回:若成功則為0,若出錯(cuò)則為-1。軟帝信息科技http
kill的pid參數(shù)有四種不同的情況:pid>0
將信號(hào)傳給進(jìn)程識(shí)別碼為pid
的進(jìn)程。pid=0
將信號(hào)傳給和目前進(jìn)程相同進(jìn)程組的所有進(jìn)程pid=-1
將信號(hào)廣播傳送給系統(tǒng)內(nèi)所有的進(jìn)程pid<0
將信號(hào)傳給進(jìn)程組識(shí)別碼為pid絕對(duì)值的所有進(jìn)程kill()實(shí)例見(jiàn):kill.c軟帝信息科技http
alarm和pause函數(shù)使用alarm函數(shù)可以設(shè)置一個(gè)時(shí)間值(鬧鐘時(shí)間),在將來(lái)的某個(gè)時(shí)刻該時(shí)間值會(huì)被超過(guò)。當(dāng)所設(shè)置的時(shí)間值被超過(guò)后,產(chǎn)生SIGALRM信號(hào)。如果不忽略或不捕捉此信號(hào),則其默認(rèn)動(dòng)作是終止該進(jìn)程。#include
<unistd.h>unsigned
int
alarm(unsigned
int
seconds)
;返回:0或以前設(shè)置的鬧鐘時(shí)間的余留秒數(shù)軟帝信息科技http
參數(shù)seconds的值是秒數(shù),經(jīng)過(guò)了指定的seconds秒后會(huì)產(chǎn)生信號(hào)SIGALRM。每個(gè)進(jìn)程只能有一個(gè)鬧鐘時(shí)間。如果在調(diào)用alarm時(shí),以前已為該進(jìn)程設(shè)置過(guò)鬧鐘時(shí)間,而且它還沒(méi)有超時(shí),則該鬧鐘時(shí)間的余留值作為本次alarm函數(shù)調(diào)用的值返回。以前登記的鬧鐘時(shí)間則被新值代換。如果有以前登記的尚未超過(guò)的鬧鐘時(shí)間,而且seconds值是0,則取消以前的鬧鐘時(shí)間,其余留值仍作為函數(shù)的返回值。軟帝信息科技http
pause函數(shù)使調(diào)用進(jìn)程掛起直至捕捉到一個(gè)信號(hào)。#include
<unistd.h>int
pause(void);返回:-1,errno設(shè)置為EINTR只有執(zhí)行了一個(gè)信號(hào)處理程序并從其返回時(shí),pause才返回。實(shí)例見(jiàn):alarm.c軟帝信息科技http
信號(hào)的處理當(dāng)系統(tǒng)捕捉到某個(gè)信號(hào)時(shí),可以忽略該信號(hào)或是使用指定的處理函數(shù)來(lái)處理該信號(hào),或者使用系統(tǒng)默認(rèn)的方式。信號(hào)處理的主要方法有兩種,一種是使用簡(jiǎn)單的signal函數(shù),另一種是使用信號(hào)集函數(shù)組。Signal函數(shù)主要用于32種非實(shí)時(shí)信號(hào)處理。軟帝信息科技http
signal()#include
<signal.h>void
(*signal
(int
signo,
void(*func)(int)))(int)返回:成功則為以前的信號(hào)處理配置,若出錯(cuò)則為SIG_ERRfunc的值是:(a)常數(shù)SIG_IGN,或(b)常數(shù)SIG_DFL,或
(c)當(dāng)接到此信號(hào)后要調(diào)用的函數(shù)的地址。如果指定SIG_IGN,則向內(nèi)核表示忽略此信號(hào)(有兩個(gè)信號(hào)SIGKILL和SIGSTOP不能忽略)。如果指定SIG_DFL,則表示接到此信號(hào)后的動(dòng)作是系統(tǒng)默認(rèn)動(dòng)作。當(dāng)指定函數(shù)地址時(shí),
稱此為捕捉此信號(hào)。 稱此函數(shù)為信號(hào)處理程序(signalhandler)或信號(hào)捕捉函數(shù)(signal-catching
function)。軟帝信息科技http
軟帝信息科技http
signal函數(shù)原型太復(fù)雜了,如果使用下面的typedef,則可使其簡(jiǎn)化。typedef
void
sign(int);sign
*signal(int,
handler
*);實(shí)例見(jiàn):mysignal.c軟帝信息科技http
信號(hào)集函數(shù)組需要有一個(gè)能表示多個(gè)信號(hào)——信號(hào)集(signal
set)的數(shù)據(jù)類型。將在sigprocmask()這樣的函數(shù)中使用這種數(shù)據(jù)類型,以告訴內(nèi)核不允許發(fā)生該信號(hào)集中的信號(hào)。信號(hào)集函數(shù)組包含幾大模塊:創(chuàng)建函數(shù)集、登記信號(hào)集、檢測(cè)信號(hào)集。軟帝信息科技http
信號(hào)操作一般流程SigemptysetSigaddset…Sigprocmask…定義信號(hào)集設(shè)置
位sa_masksa_handlersigaction…Sigpending…定義信號(hào)處理函數(shù)測(cè)試信號(hào)軟帝信息科技http
創(chuàng)建函數(shù)集#include
<signal.h>int
sigemptyset(sigset_t
*
set)
;int
sigfillset(sigset_t*
set)
;int
sigaddset(sigset_t
*
set,int
signo)
;int
sigdelset(sigset_t
*
set,int
signo);四個(gè)函數(shù)返回:若成功則為0,若出錯(cuò)則為-1int
sigismember(const
sigset_t
*
set,
intsigno)
;返回:若真則為1,若假則為0。軟帝信息科技http
sigemptyset:初始化信號(hào)集合為空。sigfillset:初始化信號(hào)集合為所有信號(hào)的集合。sigaddset:將指定信號(hào)添加到現(xiàn)存集中。sigdelset:從信號(hào)集中刪除指定信號(hào)。sigismember:查詢指定信號(hào)是否在信號(hào)集合中。軟帝信息科技http
登記信號(hào)集登記信號(hào)處理機(jī)主要用于決定進(jìn)程如何處理信號(hào)。首先要判斷出當(dāng)前進(jìn)程阻塞能不能傳遞給該信號(hào)的信號(hào)集。這首先使用sigprocmask函數(shù)判斷檢測(cè)或更改 字,然后使用sigaction函數(shù)改變進(jìn)程接受到特定信號(hào)之后的行為。軟帝信息科技http
一個(gè)進(jìn)程的字可以規(guī)定當(dāng)前阻塞而不能遞送給該進(jìn)程的信號(hào)集。調(diào)用函數(shù)sigprocmask可以檢測(cè)或更改(或兩者)進(jìn)程的字。#
include
<signal.h>int
sigprocmask(int
how,
const
sigset_t*
set,
sigset_t
*
oset)
;返回:若成功則為0,若出錯(cuò)則為-1oset是非空指針,進(jìn)程的當(dāng)前 字通過(guò)oset返回。其次,若set是一個(gè)非空指針,則參數(shù)how指示如何修改當(dāng)前 字。軟帝信息科技http
字的方法,how參數(shù)用sigprocmask更改當(dāng)前設(shè)定:SIG_BLOCK該進(jìn)程新的字是其當(dāng)前希望阻塞的附字和set指向信號(hào)集的并集。set包含了加信號(hào)。SIG_UNBLOCK該進(jìn)程新的字是其當(dāng)前信號(hào)字和set所指向信號(hào)集的交集。set包含了 希望解除阻塞的信號(hào)。SIG_SETMASK該進(jìn)程新的
是set指向的值。如果set是個(gè)空指針,則不改變?cè)撨M(jìn)程的 字,how的值也無(wú)意義。軟帝信息科技http
sigaction函數(shù)的功能是檢查或修改(或兩者)與指定信號(hào)相關(guān)聯(lián)的處理動(dòng)作。此函數(shù)取代了UNIX早期版本使用的signal函數(shù)。#include
<signal.h>int
sigaction(int
signo,
const
struct
sigaction
*act,structsigaction
*
oact)
;返回:若成功則為0,若出錯(cuò)則為-1參數(shù)signo是要檢測(cè)或修改具體動(dòng)作的信號(hào)的數(shù)。若act指針?lè)强眨瑒t要修改其動(dòng)作。如果oact指針?lè)强眨瑒t系統(tǒng)返回該信號(hào)的原先動(dòng)作。此函數(shù)使用下列結(jié)構(gòu):struct
sigaction
{void
(*sa_handler)(int
signo);sigset_t
sa_mask;int
sa_flags;void
(*sa_restore);
}
;軟帝信息科技http
sa_handler是一個(gè)函數(shù)指針,指定信號(hào)關(guān)聯(lián)函數(shù),可以是自定義處理函數(shù),還可以SIG_DFL或SIG_IGN。sa_mask是一個(gè)信號(hào)集,它可以指定在信號(hào)處理程序執(zhí)行過(guò)程中哪些信號(hào)應(yīng)當(dāng)被阻塞。sa_flags中包含許多標(biāo)志位,是對(duì)信號(hào)進(jìn)行處理的各種選項(xiàng)。具體如下:SA_NODEFER\SA_NOMASK:當(dāng)捕捉到此信號(hào)時(shí),在執(zhí)行其信號(hào)捕捉函數(shù)時(shí),系統(tǒng)不會(huì)自動(dòng)阻塞此信號(hào)。SA_NOCLDSTOP:進(jìn)程忽略子進(jìn)程產(chǎn)生的任何SIGSTOP、SIGTSTP、SIGTTIN和SIGTTOU信號(hào)SA_RESTART:可讓重啟的系統(tǒng)調(diào)用重新起作用。SA_ONESHOT\SA_RESETHAND:自定義信號(hào)只執(zhí)行一次,在執(zhí)行完畢后恢復(fù)信號(hào)的系統(tǒng)默認(rèn)動(dòng)作。軟帝信息科技http
檢測(cè)信號(hào)集檢測(cè)信號(hào)是信號(hào)處理的后續(xù)步驟,但不是必須的。sigpending函數(shù)運(yùn)行進(jìn)程檢測(cè)“未決”信號(hào)(進(jìn)程不清楚他的存在),并進(jìn)一步?jīng)Q定對(duì)他們做何處理。sigpending返回對(duì)于調(diào)用進(jìn)程被阻塞不能遞送和當(dāng)前未決的信號(hào)集。#include
<signal.h>int
sigpending(sigset_t
*
set)
;返回:若成功則為0,若出錯(cuò)則為-1信號(hào)集實(shí)例見(jiàn):sigaction.c軟帝信息科技http
共享內(nèi)存共享內(nèi)存區(qū)域是被多個(gè)進(jìn)程共享的一部分物理內(nèi)存。如果多個(gè)進(jìn)程都把該內(nèi)存區(qū)域到自己的虛擬地址空間,則這些進(jìn)程就都可以直接該共享內(nèi)存區(qū)域,從而可以通過(guò)該區(qū)域進(jìn)行通信。共享內(nèi)存是進(jìn)程間共享數(shù)據(jù)的一種最快的方法,一個(gè)進(jìn)程向共享內(nèi)存區(qū)域?qū)懭肓藬?shù)據(jù),共享這個(gè)內(nèi)存區(qū)域的所有進(jìn)程就可以立刻看到其中的內(nèi)容。軟帝信息科技http
進(jìn)程一進(jìn)程二共享內(nèi)存共享內(nèi)存原理示意圖軟帝信息科技http
共享內(nèi)存實(shí)現(xiàn)分為兩個(gè)步驟:一、創(chuàng)建共享內(nèi)存,使用shmget函數(shù)。到具體二、
共享內(nèi)存,將這段創(chuàng)建的共享內(nèi)存的進(jìn)程空間去,使用shmat函數(shù)。軟帝信息科技http
系統(tǒng)調(diào)用:shmget();原型:int
shmget
(
key_t
key,
int
size,
intshm
);返回值:如果成功,返回共享內(nèi)存段標(biāo)識(shí)符。如果失敗,則返回-1:errno=EINVAL(無(wú)效的內(nèi)存段大小)EEXIST(內(nèi)存段已經(jīng)存在,無(wú)法創(chuàng)建)EIDRM(內(nèi)存段已經(jīng)被刪除)ENOENT(內(nèi)存段不存在)EACCES(權(quán)限不夠)ENOMEM(沒(méi)有足夠的內(nèi)存來(lái)創(chuàng)建內(nèi)存段)軟帝信息科技http
軟帝信息科技http
系統(tǒng)調(diào)用:shmat();原型:int
shmat
(
int
shmid,
char
*shmaddr,
int
shm
);返回值:如果成功,則返回共享內(nèi)存段連接到進(jìn)程中的地址。如果失敗,則返回-1:errno=EINVAL(無(wú)效的IPC
ID
值或者無(wú)效的地址)ENOMEM(沒(méi)有足夠的內(nèi)存)EACCES(存取權(quán)限不夠)軟帝信息科技http
軟帝信息科技http
當(dāng)一個(gè)進(jìn)程不在需要共享的內(nèi)存段時(shí),它將會(huì)把內(nèi)存段從其地址空間中脫離。系統(tǒng)調(diào)用:shmdt();調(diào)用原型:int
shmdt(char
*shmaddr);返回值:如果失敗,則返回-1:errno=EINVAL(無(wú)效的連接地址)共享內(nèi)存實(shí)例見(jiàn):shmadd.c軟帝信息科技http
軟帝信息科技http
消息隊(duì)列消息隊(duì)列就是消息的一個(gè)鏈表,它允許一個(gè)或多個(gè)進(jìn)程向它寫消息,一個(gè)或多個(gè)進(jìn)程從中讀消息。具有一定的FIFO的特性,但是可實(shí)現(xiàn)消息的隨即查詢。這些消息存在于內(nèi)核
中,由“隊(duì)列ID”來(lái)標(biāo)識(shí)。消息隊(duì)列的實(shí)現(xiàn)包括創(chuàng)建和打開(kāi)隊(duì)列、添加消息、
消息和控制消息隊(duì)列這四種操作。msgget:創(chuàng)建和打開(kāi)隊(duì)列,其消息數(shù)量受系統(tǒng)限制。msgsnd:添加消息,將消息添加到消息隊(duì)列尾部。msgrcv:
消息,從消息隊(duì)列中取走消息。msgctl:控制消息隊(duì)列。軟帝信息科技http
int
msgget
(key_tkey,
int
flag)key:返回新的或已有隊(duì)列的ID,IPC_PRIVATEint
msgsnd
(int
msqid,
struct
msgbuf
*msgp,
size_tmsgsz,
int
flag)其中:msqid是消息隊(duì)列的隊(duì)列ID;msgp是消息內(nèi)容所在的緩沖區(qū);msgsz是消息的大??;msg
是標(biāo)志,IPC_NOWAIT若消息并沒(méi)有立交發(fā)送而調(diào)用進(jìn)程會(huì)立即返回。軟帝信息科技http
軟帝信息科技http
struct
msgbuf{/*
type
of
message
*//*
message
text
*/long
mtype;char
mtext[1];};軟帝信息科技http
3限公司http
int
msgr
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《電氣控制原理圖》課件
- DB32T-建筑工程BIM規(guī)劃報(bào)建數(shù)據(jù)規(guī)范編制說(shuō)明
- 給予是快樂(lè)的課件公開(kāi)課專用
- 《口腔潔治課件》課件
- 基因工程的基本操作程序課件
- 《TA溝通分析課程》課件
- 《伊犁河大橋》課件
- 生活處處有哲學(xué)課件
- 單位管理制度展示匯編【員工管理篇】
- 中國(guó)武都頭風(fēng)痛丸項(xiàng)目投資可行性研究報(bào)告
- 廣西玉林市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)統(tǒng)編版質(zhì)量測(cè)試(上學(xué)期)試卷及答案
- 《外盤期貨常識(shí)》課件
- 【MOOC】土力學(xué)-西安交通大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 醫(yī)院醫(yī)??乒ぷ骺偨Y(jié)
- 2024-2025學(xué)年譯林版八年級(jí)英語(yǔ)上學(xué)期重點(diǎn)詞匯短語(yǔ)句子歸納【考點(diǎn)清單】
- 廣東省六校聯(lián)考2024-2025學(xué)年高二上學(xué)期12月月考英語(yǔ)試題
- 養(yǎng)老護(hù)理員技能培訓(xùn)的標(biāo)準(zhǔn)化實(shí)施方案
- 2024年企業(yè)采購(gòu)部年終總結(jié)及今后計(jì)劃(3篇)
- 物業(yè)客服個(gè)人述職報(bào)告范例
- 數(shù)據(jù)崗位招聘筆試題與參考答案2024年
- 2024屆高考英語(yǔ)詞匯3500左右
評(píng)論
0/150
提交評(píng)論