国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

做的圖怎么上傳到網(wǎng)站宣傳推廣方式有哪些

做的圖怎么上傳到網(wǎng)站,宣傳推廣方式有哪些,消防維保公司宣傳冊(cè)設(shè)計(jì)樣本,重慶建站模板一、替換原理 用fork創(chuàng)建子進(jìn)程后執(zhí)行的是和父進(jìn)程相同的程序(但有可能執(zhí)行不同的代碼分支),子進(jìn)程往往要調(diào)用一種exec函數(shù)以執(zhí)行另一個(gè)程序。當(dāng)進(jìn)程調(diào)用一種exec函數(shù)時(shí),該進(jìn)程的用戶空間代碼和數(shù)據(jù)完全被新程序替換,從新程序的啟動(dòng)例程開始執(zhí)…

一、替換原理

????????用fork創(chuàng)建子進(jìn)程后執(zhí)行的是和父進(jìn)程相同的程序(但有可能執(zhí)行不同的代碼分支),子進(jìn)程往往要調(diào)用一種exec函數(shù)以執(zhí)行另一個(gè)程序。當(dāng)進(jìn)程調(diào)用一種exec函數(shù)時(shí),該進(jìn)程的用戶空間代碼和數(shù)據(jù)完全被新程序替換,從新程序的啟動(dòng)例程開始執(zhí)行。調(diào)用exec并不創(chuàng)建新進(jìn)程,所以調(diào)用exec前后該進(jìn)程的id并未改變。程序替換所做的本質(zhì)工作就是將代碼和數(shù)據(jù)加載到內(nèi)存。

? ? ? ? 替換系統(tǒng)命令時(shí)命令行怎么寫,參數(shù)就怎么傳,參數(shù)以NULL結(jié)尾。程序替換一旦成功,exec*后序的代碼不再執(zhí)行。因?yàn)樵绦虻臄?shù)據(jù)和代碼被替換掉了。exec*程序替換接口只有失敗返回值,沒(méi)有成功返回值。

二、子進(jìn)程進(jìn)行程序替換

????????通過(guò)子進(jìn)程進(jìn)行程序替換可以讓子進(jìn)程幫我們?nèi)プ鲆徊糠止ぷ?#xff0c;而且子進(jìn)程發(fā)生程序替換不會(huì)影響父進(jìn)程執(zhí)行,因?yàn)樘鎿Q時(shí)代碼和數(shù)據(jù)會(huì)發(fā)生寫時(shí)拷貝。

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>int main()
{pid_t id = fork();if(id == 0){execl("/usr/bin/ls", "ls", "-l", NULL);exit(0);}pid_t rid = waitpid(id, NULL, 0);printf("wait success!\n");return 0;
}

2.1、讓子進(jìn)程執(zhí)行我自己的程序

????????我自己寫了一個(gè)C++程序,向替換子進(jìn)程幫我跑一下:

//C++程序
#include <iostream>
using namespace std;int main()
{cout << "Hello Linux!" << endl;cout << "Hello Linux!" << endl;cout << "Hello Linux!" << endl;cout << "Hello Linux!" << endl;return 0;
}

?C程序:

//讓子進(jìn)程執(zhí)行我自己寫的程序
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>int main()
{pid_t id = fork();if(id == 0){execl("./mytest", "./mytest", NULL);exit(0);}pid_t rid= waitpid(id, NULL, 0);if(rid > 0)printf("wait success!\n");return 0;
}

????????執(zhí)行結(jié)果如下,證明了我們不僅僅可以替換子進(jìn)程執(zhí)行系統(tǒng)程序,還可以替換子進(jìn)程執(zhí)行我們的程序。 無(wú)論是什么語(yǔ)言,只要能在Linux系統(tǒng)下跑,都可以用exec系列的接口進(jìn)行程序替換,exec系列的接口只認(rèn)二進(jìn)制代碼和數(shù)據(jù)。

三、各種exec接口

?其它六個(gè)接口在底層都封裝了execve系統(tǒng)調(diào)用接口。

3.1、execlp?

????????exec接口中,l意為list,表示參數(shù)列表,v意為vector,就指的是數(shù)組。名字中帶p的這個(gè)p指的是PATH,也就是說(shuō)你不用告訴系統(tǒng),程序在哪里,只要告訴我名字就行,系統(tǒng)會(huì)自動(dòng)到你這個(gè)進(jìn)程的PATH環(huán)境變量中所保存的路徑中尋找。execlp只有第一個(gè)參數(shù)和execl不同,其余參數(shù)都相同。

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>int main()
{pid_t id = fork();if(id == 0){execlp("ls", "ls", "-l", NULL);exit(0);}pid_t rid = waitpid(id, NULL, 0);printf("wait success!\n");return 0;
}

3.2、execv/execvp

????????execv的用法與execl的用法大致相同,只不過(guò)將execl后面的可變參數(shù)列表?yè)Q成一個(gè)指針數(shù)組。execvp也只是將execv前面的路徑換成程序名而已。不過(guò)這里要強(qiáng)調(diào)的是:不要忘了路徑最前面的那一個(gè)斜杠,還有數(shù)組的結(jié)束標(biāo)志是NULL,一定要在數(shù)組的最后加上NULL。

#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>int main()
{pid_t id = fork();if(id == 0){char* argv[] = {"ls", "-l", "-a", NULL};//execvp("ls", argv);execv("/usr/bin/ls", argv);exit(0);}pid_t rid= waitpid(id, NULL, 0);if(rid > 0)printf("wait success!\n");return 0;
}

3.3、execle/execvpe/execve

????????程序替換不會(huì)替換環(huán)境變量數(shù)據(jù)。可以通過(guò)地址空間繼承的方法,讓子進(jìn)程拿到父進(jìn)程的所有環(huán)境變量。如果我們想傳遞全新的環(huán)境變量表給子進(jìn)程,就要使用帶e的程序替換接口。

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>int main()
{pid_t id = fork();if(id == 0){char* env[] ={"aaa=bbbbbbbbbbbbbbbb", NULL};execle("./mytest", "./mytest",NULL,  env);exit(0);}pid_t rid= waitpid(id, NULL, 0);if(rid > 0)printf("wait success!\n");return 0;
}

http://m.aloenet.com.cn/news/38349.html

相關(guān)文章:

  • 哪個(gè)網(wǎng)站做外貿(mào)年費(fèi)比較便宜宣傳渠道有哪些
  • 怎么看別人網(wǎng)站怎么做的網(wǎng)站頁(yè)面優(yōu)化內(nèi)容包括哪些
  • 網(wǎng)站建站行業(yè)公司主頁(yè)建設(shè)希愛(ài)力副作用太強(qiáng)了
  • 滄州商貿(mào)行業(yè)網(wǎng)站建設(shè)自己有域名怎么建網(wǎng)站
  • 做網(wǎng)站收會(huì)員費(fèi)違法嗎網(wǎng)站外鏈平臺(tái)
  • 成都專門做公司網(wǎng)站的公司全網(wǎng)引擎搜索
  • 南通網(wǎng)站優(yōu)化深圳市社會(huì)組織總會(huì)
  • 網(wǎng)站建設(shè)做網(wǎng)站好嗎開發(fā)一個(gè)網(wǎng)站
  • 旅游網(wǎng)站規(guī)劃方案產(chǎn)品推廣介紹怎么寫
  • 如何用微信做網(wǎng)站百度關(guān)鍵詞搜索排名帝搜軟件
  • 求一個(gè)全部用div做的網(wǎng)站裂變營(yíng)銷五種模式十六種方法
  • 深圳做網(wǎng)站最好的公司seo三人行網(wǎng)站
  • 大朗做網(wǎng)站蘇州優(yōu)化seo
  • 網(wǎng)站建設(shè)ktv惠州seo排名優(yōu)化
  • 網(wǎng)站建設(shè)6000元真實(shí)的優(yōu)化排名
  • 模板型網(wǎng)站建設(shè)網(wǎng)絡(luò)關(guān)鍵詞優(yōu)化軟件
  • 一級(jí)a做美國(guó)片免費(fèi)網(wǎng)站優(yōu)化大師win10能用嗎
  • 整站wordpress下載今日最新頭條新聞條
  • qq電腦版官方網(wǎng)站策劃方案
  • 鄭州高端網(wǎng)站模板app地推接單平臺(tái)
  • 專業(yè)的做網(wǎng)站軟件國(guó)外免費(fèi)發(fā)產(chǎn)品的b2b平臺(tái)
  • 先做它個(gè)天貓網(wǎng)站自己的網(wǎng)站怎么樣推廣優(yōu)化
  • 網(wǎng)站浮窗制作網(wǎng)站優(yōu)化推廣排名
  • 縉云縣城鄉(xiāng)建設(shè)局網(wǎng)站軟文技巧
  • 響應(yīng)式網(wǎng)站微博視頻百度圖片查找
  • 手機(jī)網(wǎng)站建設(shè)經(jīng)驗(yàn)seo發(fā)展前景怎么樣啊
  • 如果給公司網(wǎng)站做網(wǎng)絡(luò)廣告廣州網(wǎng)站優(yōu)化費(fèi)用
  • 怎么做跨境電商網(wǎng)站北京營(yíng)銷公司比較好的
  • 門戶網(wǎng)站建設(shè)及運(yùn)營(yíng)品牌傳播推廣方案
  • 個(gè)人網(wǎng)站建站系統(tǒng)百度搜索排名