vérifier si un mount est correctement fait
:salut:
J'utilise "smbmount" pour monter des volumes sur un serveur au sein d'un réseau LAN. Je mets ce contenu dans un arborescence définie qui est : "/home/user/nomduserveur/nomduvolume".
Pour creer cet arborescence j'utilise mkdir.
Cependant, j'ai parfois des problèmes :roll: avec "smbmount" et mon contenu est vide alors : Est-il possible de contrôler/vérifier si le mount a été bien fait dans mon code c++?
J'utilise le code suivant avec notamment la fonction système qui execute du bash, est ce une bonne solution? :oops:
voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
{
......
// je récupère les données de mon thread
LEAShareItem* l_parent = (LEAShareItem*)a_data;
// j(utilise wxConfig de wxWidget pour conserver des données ici mdp pour essai
wxConfigBase* config = wxConfigBase::Get();
// je recupère ces données
config->Write(_T("username"),l_parent->m_devicePt->m_username);
config->Write(_T("password"),l_parent->m_devicePt->m_password);
// je définis le path du dossier destinataire
wxString path;
wxString l_mountdirectory = path.Format(_T("$HOME/lacie_mount/%s/%s"),l_parent->m_devicePt->GetName().c_str(),l_parent->m_sharePt->GetName().c_str());
// je crèes le dossier destinataire en question par mkdir
wxString str = _CTS("mkdir -p ") + l_mountdirectory;
system(_STC(str));
//ke montes le tout par smbmount et system
wxString mount;
wxString mount2= mount.Format(_T("smbmount //%s/%s %s -o username=%s,password=%s"),l_parent->m_devicePt->GetName().c_str(),l_parent->m_sharePt->GetName().c_str(),l_mountdirectory.c_str(),l_parent->m_devicePt->m_username.c_str(),l_parent->m_devicePt->m_password.c_str());
system(_STC(mount2))<<endl;
-----------
->>> ici j'aimerais controler si le mont a bien été fais!!!!! :-)
-----------
//j' ouvre le contenu dans un browser
wxFile file;
file.Exists(_T("/usr/bin/konqueror"));
if(file.Exists(_T("/usr/bin/konqueror")))
std::system(_STC(_T("konqueror ") + l_mountdirectory));
if(file.Exists(_T("/usr/bin/nautilus")))
std::system(_STC(_T("nautilus ") + l_mountdirectory));
pthread_exit (0);
} |
Merci
Robux
PS : Kubuntu feisty