Python fcntl 與 signal 模塊使用


  • 這兩個模塊是Python標准庫里面就包含的模塊

  • 用法介紹在
    https://docs.python.org/2/library/signal.html
    https://docs.python.org/2/library/fcntl.html

  • 語法和 C 很相似, 如下

    self.gpio0_irq_file = open("/dev/switch")
    signal.signal(signal.SIGIO, self.get_rain_data)
    fcntl.fcntl(self.gpio0_irq_file, fcntl.F_SETOWN, os.getpid())
    flags = fcntl.fcntl(self.gpio0_irq_file, fcntl.F_GETFL);
    flags |= os.O_ASYNC;
    fcntl.fcntl(self.gpio0_irq_file, fcntl.F_SETFL, flags);
    
  • 主要,我想用Python 調用 linux C 的異步調用

  • 如上,O_SYNC 是 os 模塊里面包含, SIGIO 這些是在 signal 模塊里面被定義, F_GETFL 是在 fcntl 里面, 一次類推。

  • 基本上和 Linux C 一樣


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM