linux下監控usb自動掛載

2021-10-09 10:28:06 字數 2033 閱讀 7536

掛載路徑自己修改即可:

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許可權不能用圖形介面貼上東...