掛載路徑自己修改即可:
u盤掛載部分:
#include "checkudisk.h"
checkudisk::checkudisk(qobject *parent): qobject(parent)
void checkudisk::started()
runcmd checku;
qstring fidsk = "fdisk";
qstringlist fdisk_list;
fdisk_list<<"-l";
checku.setcmd(fidsk,fdisk_list);
checkresult = checku.getstring();
fdisk_list.clear();
qregexp rx("sd[a-z][0-9]");
while( (pos = rx.indexin(checkresult,pos)) != -1 )
checkudisk::~checkudisk()
delete thread;
thread = null;
}if(check)
}void checkudisk::getname(qstringlist strlist,int statue)
;#endif // checkudisk_h
執行部分:
#include "runcmd.h"
runcmd::runcmd(qobject *parent) : qobject(parent)
runcmd::~runcmd()
qstring runcmd::getstring()
void runcmd::setcmd(qstring str,qstringlist strlist)
else
}void runcmd::readyread()
.h
#ifndef runcmd_h
#define runcmd_h
#include #include #include class runcmd : public qobject
;#endif // runcmd_h
檢測usb**:
#include "usbcheck.h"
usbcheck::usbcheck(qobject *parent) : qobject(parent)
}}// emit usbname(qstring("sdb1"),1);//0 remove
// emit usbname(str,1);//1 add
//id = str.mid(str.indexof(new qregexp("[0-9]")));
void usbcheck::getname(qstring buf)
[0-9]");
qregexp rx("sd[a-z][0-9]");
int pos = 0;
while( (pos = rx.indexin(qstring(buf),pos)) != -1)
;#endif // usbcheck_h
公用頭:
#ifndef head_h
#define head_h
#include #include //#include #include #include "usbcheck.h"
#include "checkudisk.h"
#include "runcmd.h"
#endif // head_h
main:
#include "checkudisk.h"
class checkudisk;
int main(int argc, char *ar**)
**簡單久不解釋了,原理用的是socket檢測核心usb事件,匹配出來以後 手動掛載.
完整工程**:umount.zip
linux下 監控USB插入事件
2009 10 09 10 08 20 分類 舉報 字型大小訂閱 目前找到3種辦法可以獲得hotplug事件。一種是hotplug指令碼。hotplug事件發生時,核心會呼叫指令碼 sbin hotplug。可以在這個指令碼中加入自己的操作。不過2.6核心做了很大的改變。不再支援hotplug指令碼...
Linux 掛載usb裝置
如果系統沒有發現usb裝置,那麼就要掛載這些裝置。1.在 mnt目錄下建立乙個掛裝usb儲存器的目錄 root tgflinux root mkdir mnt usb2.然後執行裝載裝置命令,將usb裝置掛裝到 mnt usb目錄下 root tgflinux root mount t msdos ...
linux 掛載 解除安裝Usb
一 掛載usb 1.切換到root許可權 2.用fdisk l檢視u盤 一般為 dev sdb,最後的乙個裝置 3.建立u盤掛載點mkdir mnt usb 4.掛載u盤mount t vfat dev sdb1 mnt usb 但是這樣掛載會有很多問題,如亂碼,非root許可權不能用圖形介面貼上東...