開門見山。函數
libvirt的工做機制神馬的我也解釋不清楚。我就基本上了解到底該怎麼用……對象
可是基於libvirt的工做流程,我就要一一爲本身總結了!生命週期
第1、想要使用libvirt的API來進行虛擬機生命週期的管理,首先須要獲得你的應用程序要主機的一個URI鏈接!注意不是URL……別混淆了……URI,叫作「統一資源標識符」。這裏引用一下開發文檔的句子「在libvirt中,一個這樣的鏈接是系統中全部對象的和行爲的基礎」 「全部實體(應用程序)若是想要與libvirt進行交互,都需要首先取得一個鏈接到你感興趣的主機(目標主機)上的libvirt的鏈接」。資源
第2、給予第一點,那麼,怎樣才能獲取一個鏈接呢。很簡單!libvirt提供了三種API供咱們使用以獲取一個鏈接。我在這裏就介紹一個最簡單的virConnectPtr virConnectOpen(const char *name)。此函數概要解釋以下:1)virConnectPtr是一個結構體,它表明的是咱們的virConnectOpen()函數獲取的libvirt鏈接對象。開發
此程序的使用範例以下:根據我本身的實驗環境所得……請諸位各取所需……不勝感激文檔
……虛擬機
#include<libvirt/libvirt.h>工作流
.......基礎
int main(int argc , char *argv[])軟件
{
virConnectPtr zzhConn;
zzhConn = virConnectOpen("Xen:///");
......
virConnectClose(zzhConn);
......
return 0 ;
}
程序解釋以下:include命令固然引入到是包含這些API具體實現的頭文件拉。
其次, virConnectPtr zzhConn;爲申明一個libvirt的鏈接對象,否則用什麼來保存咱們的這個鏈接對象呢是吧?
再次,固然就是調用相關函數獲取對應的鏈接對象咯!
注意:「Xen:///」是表示的「Xen的本地的鏈接」其餘VMM軟件有不一樣的表示方法,不一一列出。在此的:「Xen:///」就是咱們說所的「URI」了。PS,另外兩個函數,也必不可少次URI。
最後,固然是關閉鏈接了啊。這和咱們C中記得釋放資源是一個良好的習慣是同樣的。
至於這個函數,你們記住就好了……沒啥特別的……跟那個free()角色差很少的……