我正在嘗試更新 QNAP NAS 上的 CUPS 守護程序,該程式運行 *nix 風格。當 NAS 啟動時,整個作業系統會載入到 RAMDISK 上,因此我編寫了一個在啟動時運行並註入我自己的程式碼的腳本。現在我的問題是我需要觸發核心操作,以便USB印表機驅動程式呼叫cupsd.sh腳本。
據製造商介紹:
我們修改了Linux核心的“USB印表機裝置類別驅動程式”,以便在插入/拔出USB印表機時發出訊號/訊息。守護程式 picd 收到訊號/訊息後,它將呼叫 cupsd.sh 來 add_printer/del_printer 。
我有什麼想法可以做到這一點嗎?
答案1
通常,它是由 Linux 中的 udev 完成的,但我不確定 QNAP 是否使用它。另一個選擇是來自 busybox 的 mdev。檢查您的系統以了解它使用哪種方法,然後閱讀相應的文件。
一般其工作方式如下:
- 即使您插入新設備,核心也會生成,
- 使用者空間守護程式(udev 或 mdev)偵聽這些事件,
- 該事件經歷一系列規則,如果找到匹配,則採取相應的操作,
- 該操作可以是執行您的自訂腳本。