Windows下使用syscall.SIGUSR1報錯:SIGUSR1 not declared by package syscall


windows打開hyperledger/fabric項目時,\fabric\integration\e2e\e2e_signal_test.go中的syscall.SIGUSR1會報錯。

這是因為 windows 下的信號沒有 SIGUSR1、SIGUSR2 等,為了不輕易的拋棄 windows 環境。目前用了一個 ditty 的辦法解決:
在 go 的安裝目錄修改 Go\src\syscall\types_windows.go,增加如下代碼:

var signals = [...]string{
    // 這里省略N行。。。。
 
    /** 兼容windows start */
    16: "SIGUSR1",
    17: "SIGUSR2",
    18: "SIGTSTP",
    /** 兼容windows end */
}
 
/** 兼容windows start */
func Kill(...interface{}) {
    return;
}
const (
    SIGUSR1 = Signal(0x10)
    SIGUSR2 = Signal(0x11)
    SIGTSTP = Signal(0x12)
)
/** 兼容windows end */

原文出處:https://blog.csdn.net/qq_28466271/article/details/116521955

(全文完)

更多關於大數據、分布式、存儲、區塊鏈、Linux相關文章請關注微信公眾號:asympTech漸進線實驗室

Github、知乎、博客園、CSDN、簡書全網唯一id:JasonCeng

技術人,不白嫖,如果您覺得文章對您有幫助,幫忙點個推薦吧~


免責聲明!

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



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